Creating a webhook table in RisingWave
To utilize webhook sources in RisingWave, you need to create a table configured to accept webhook requests. Below is a basic example of how to set up such a table:Parameter or clause | Description |
---|---|
CREATE SECRET | Securely stores a secret value in RisingWave for request validation. |
CREATE TABLE | Defines a table with a JSONB column to store webhook payload data. |
connector | Configures the table to accept incoming HTTP webhook requests |
VALIDATE SECRET...AS... | Authenticates requests using the stored secret and signature comparison. |
secure_compare() | Validates requests by matching the header signature against the computed signature, ensuring only authenticated requests are processed. Note secure_compare(...) is the only supported validation function for webhook tables. |
header_of_signature | Specifies which HTTP header contains the incoming signature. |
signature_generation_expressions | Expression to compute the expected signature using the secret and payload. |
'secret_value'
to compute signature.
Supported webhook sources and authentication methods
RisingWave has been verified to work with the following webhook sources and authentication methods:webhook source | Authentication methods |
---|---|
GitHub | SHA-1 HMAC, SHA-256 HMAC |
Segment | SHA-1 HMAC |
HubSpot | API Key, Signature V2 |
AWS EventBridge | Bearer Token |
Rudderstack | Bearer Token |
While only the above sources have been thoroughly tested, RisingWave can support additional webhook sources and authentication methods. You can integrate other services using similar configurations.