4560. You can reconfigure this depending on how your cluster is deployed. When a webhook is triggered, RisingWave processes and ingests the data in real-time.
This direct integration eliminates the need for an intermediary message broker like Kafka. Instead of setting up and maintaining an extra Kafka cluster, you can directly send data to RisingWave to process it in real-time, which enables efficient data ingestion and stream processing without extra infrastructure.
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. |
is_batched | Optional, set to true to enable batch ingestion of multiple JSON lines in a single request. |
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. |
is_batched is added in v2.5.0 and is currently in technical preview stage.'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 |
- Ingest from Github webhook
- Ingest from Segment webhook
- Ingest from HubSpot webhook
- Ingest from Amazon EventBridge webhook
- Ingest from RudderStack webhook
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.
Deploy RisingWave webhook listener
Learn how to deploy and test RisingWave’s webhook listener using open-source tools such as Kubernetes Operator and Helm Chart.Kubernetes operator
Make sure risingwave-operator ≥ v0.12.0.
-
Prepare a YAML manifest of RisingWave with the following field set:
You can try with the base YAML.
- Apply the YAML to create the RisingWave instance.
Helm Chart
Make sure Helm chart ≥ 0.2.38.
-
Prepare a YAML values of RisingWave with the following field set:
-
Install a Helm release with the values.
Example command
Test webhook locally
To test the webhook locally using Helm, first install a Helm release using the example command provided in Helm Chart. Once the Helm release is running, follow these steps:-
Forward ports of the RisingWave to local
-
Connect with
psqland create a demo table. -
Send sample data with
curl -
Query from the table and check the result.