Amazon Kinesis
Datafly Signal delivers events to Amazon Kinesis Data Streams for real-time stream processing, analytics, and event-driven architectures.
This integration is currently in beta. Configuration and behaviour may change.
Prerequisites
Before configuring Amazon Kinesis in Signal, you need an AWS account with a Kinesis data stream and IAM credentials.
Create an AWS Account
If you don’t already have one, sign up at aws.amazon.com.
Create a Kinesis Data Stream
- Open the Kinesis console.
- Click Create data stream.
- Enter a Data stream name (e.g.
datafly-events). - Choose the Capacity mode:
- On-demand — automatically scales to handle your throughput (recommended for variable workloads).
- Provisioned — set a fixed number of shards. Each shard supports 1 MB/s write and 2 MB/s read.
- Click Create data stream.
On-demand mode automatically manages shard count and scales up to 200 MB/s write throughput. For predictable, high-volume workloads, provisioned mode gives more control over costs.
Create an IAM User for Signal
- Open the IAM console.
- Go to Users > Create user.
- Enter a username (e.g.
datafly-signal-kinesis). - Attach a custom policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kinesis:PutRecord",
"kinesis:PutRecords"
],
"Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/datafly-events"
}
]
}- Replace the region, account ID, and stream name with your values.
Generate Access Keys
- On the IAM user detail page, go to Security credentials.
- Under Access keys, click Create access key.
- Select Application running outside AWS.
- Copy the Access Key ID and Secret Access Key immediately — the secret is only shown once.
Store these credentials securely. If you lose the secret access key, you must create a new key pair.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
stream_name | string | Yes | The name of the Kinesis data stream. |
region | select | Yes | The AWS region where the data stream is located. |
access_key_id | secret | Yes | The AWS access key ID for authentication. |
secret_access_key | secret | Yes | The AWS secret access key for authentication. |
partition_key | string | No | Template expression for the partition key. Determines shard placement. Defaults to a random UUID for even distribution. |
Signal Setup
Quick Setup
- Navigate to Integrations in the sidebar.
- Open the Integration Library tab.
- Find Amazon Kinesis or filter by Cloud Storage.
- Click Install, select a variant if available, and fill in the required fields.
- Click Install Integration to create the integration with a ready-to-use default blueprint.
API Setup
curl -X POST http://localhost:8084/v1/admin/integration-catalog/amazon_kinesis/install \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Amazon Kinesis",
"variant": "default",
"config": {
"stream_name": "datafly-events",
"region": "us-east-1",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"partition_key": "message_id"
},
"delivery_mode": "server_side"
}'Testing
- Enable the integration in Signal and trigger a test event on your website.
- Open the Kinesis console and select your data stream.
- Check the Monitoring tab for incoming put record metrics.
- Use the Data Viewer tab to inspect individual records in the stream.
- In Signal, check the Live Events view to confirm delivery status shows as successful.
Troubleshooting
| Problem | Solution |
|---|---|
| Events not appearing in the stream | Verify the stream name and region are correct. Check that the stream status is Active. |
AccessDeniedException | The IAM user lacks kinesis:PutRecord or kinesis:PutRecords permission. Update the IAM policy. |
ResourceNotFoundException | The stream does not exist in the specified region. Check the stream name and region. |
ProvisionedThroughputExceededException | The shard write capacity has been exceeded. Add more shards or switch to on-demand mode. |
| Records landing on the same shard | Choose a partition key with high cardinality (e.g. message_id) to distribute records evenly across shards. |
| High latency on consumers | Increase the number of shards to improve read parallelism. Each shard supports 2 MB/s read throughput. |
| Credential errors | Verify the access key ID and secret access key are correct and the IAM user has not been deactivated. |
Visit Amazon Kinesis documentation for full API reference and stream management guides.