Destinations: Streaming
Neon (Streaming)
Neon is a fully managed serverless Postgres with a generous free tier. Neon separates compute and storage to offer modern developer features such as autoscaling, branching, bottomless storage, and more.
By connecting Cloudwatch to your ProxyHook account you can easily store any data into your Neon Postgres database
Settings
Neon has several settings which you will need to complete in order to send data to your Neon Database.
Connection String
You can retrieve this on your project dashboard. It should look something like: postgresql://admin:[email protected]/neondb?sslmode=require
In order to have records posted to your Cloudwatch account, you will need to ensure your ProxyHook IAM account has permissions. To do so, follow these steps:
Table
This is the table that you will be inserting into.
Column Map
Column map allows you to specify which data to insert into your table based on your payload.
As an example, lets asumme your inbound payload (after standardization) looks like the following
{
"anonymousId": "d2a3a775-51a1-4d85-b4d6-32bfe43dfa29",
"channel": "web",
"context": {
"app": {
"name": "Proxyhook Webhook SDK",
"version": "1.7.0"
},
"os": {},
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
},
"event": "webhook",
"messageId": "910df0f6-def2-4a22-8b77-b3d088fce92f",
"originalTimestamp": "2024-04-18T22:14:58.294Z",
"properties": {
"name": "Jack",
"age": 45,
"favorite_food": "pizza"
},
"proxyHookID": "4531e96e-3de2-4c6c-bb46-836f4f4b90be",
"sentAt": "2024-04-18T22:14:58.294Z",
"type": "track"
}
And your table schema was generated with the following query
CREATE TABLE playing_with_proxyhook (id SERIAL PRIMARY KEY, name TEXT NOT NULL, age INT, favorite_food TEXT NOT NULL);
To specify which part of your payload contains the necessary data, you can set a column map such as the following
{
"name": $.properties.name,
"age": $.properties.age,
"favorite_food": $.properties.favorite_food
}