Ingest RudderStack events directly into your RisingWave database for real-time processing and analytics.
Parameter or clause | Description |
---|---|
data JSONB | Defines the name of column to store the JSON payload from the webhook. Currently, only JSONB type is supported for webhook tables. |
is_batched | Optional, set to true to enable batch ingestion of multiple JSON lines in a single request. |
SECRET <secret> | Use an existing secret to verify incoming webhook requests. This is optional. You can also use a raw string to verify. |
headers->>'...' | Extracts the signature provided by RudderStack in the authorization HTTP header. The header key can be any string value and you can specify it when you create your webhook destination for RisingWave. In secure_compare() function, the whole HTTP header is interpreted as a JSONB object, and you can access the header value using the ->> operator, but only the lower-case header names in the ->> operator, otherwise the verification will fail. |
test_secret | Provides the expected signature. In the example above, we directly compare the secret value of test_secret with the signature provided in the headers to verify the requests. |
secure_compare(...) | Validates requests by matching the header signature against the computed signature, ensuring only authenticated requests are processed. The secure_compare() function compares two strings in a fixed amount of time, regardless of whether they are equal or not, ensuring that the comparison is secure and resistant to timing attacks. |
Parameter | Description |
---|---|
HOST | The hostname or IP address where your RisingWave instance is accessible. This could be a domain name or an IP address. |
database | The name of the RisingWave database where your table resides |
schema_name | The schema name of your table, typically public unless specified otherwise. |
table_name | The name of the table you created to receive webhook data, e.g., wbhtable . |
webhook
in the list of available destinations.POST
.content-type: application/json
unchanged. Add an Authorization
header with the value set to your secret string (‘TEST_WEBHOOK’ or the secure string you used when creating test_secret
in RisingWave).
Authorization
(Or replace with the value you like, make sure it’s aligned with the CREATE TABLE
DML SQL).TEST_WEBHOOK
(replace with your actual secret).data->'field_name'
in SQL queries.
You can create a materialized view to extract specific fields from the JSON payload.
rudderstack_events
like a regular table to perform analytics, generate reports, or trigger further processing.