Amazon EventBridge
Send events to Amazon EventBridge for event-driven architectures and cross-service integrations. Use Zeotap to publish model results, audience membership changes, or enriched records as EventBridge events that can trigger Lambda functions, Step Functions, API destinations, and over 20 other AWS service targets.
Prerequisites
- An AWS account with Amazon EventBridge enabled
- An EventBridge event bus (the default bus or a custom bus)
- An IAM user or role with
events:PutEventspermission on the target event bus - AWS access key ID and secret access key for authentication
Authentication
Amazon EventBridge uses AWS Access Keys authentication.
- In the AWS IAM Console, create an IAM user (or use an existing one) with programmatic access
- Attach a policy granting
events:PutEventspermission on the target event bus - Generate an access key for the IAM user
- Enter the Access Key ID and Secret Access Key in Zeotap
Required IAM Permissions
The IAM user needs the following permissions on the target event bus:
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": "arn:aws:events:REGION:ACCOUNT_ID:event-bus/EVENT_BUS_NAME"
}Replace REGION, ACCOUNT_ID, and EVENT_BUS_NAME with your actual values. For the default event bus, use default as the event bus name.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| AWS Region | Select | Yes | The AWS region where the EventBridge event bus is located. Options include US East (N. Virginia, Ohio), US West (N. California, Oregon), EU (Ireland, Frankfurt, London), and Asia Pacific (Tokyo, Singapore, Sydney) |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Event Bus Name | Text | Yes | The name or ARN of the EventBridge event bus. Use default for the default event bus |
| Event Source | Text | Yes | The source identifier for events (e.g., com.mycompany.zeotap). Used to filter events in EventBridge rules |
| Detail Type | Text | Yes | A free-form string that categorizes the event (e.g., UserSync, AudienceMembership). Used with source for rule matching |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Insert | Yes |
| Upsert | — |
| Update | — |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | Yes |
| Remove | — |
| Mirror | — |
| Upsert | — |
Features
- Field Mapping: No — EventBridge publishes the full record as a JSON event detail
- Schema Introspection: No — EventBridge events are schemaless
How It Works
Zeotap sends each row as a JSON event to the configured EventBridge event bus:
- Each row is serialized as a JSON object
- The JSON is placed in the
Detailfield of an EventBridge event entry - The
SourceandDetailTypefields are set from your target configuration - Events are sent to EventBridge using the PutEvents API in batches of up to 10 entries
- EventBridge evaluates the events against your rules and routes them to configured targets
Event Structure
Each event published to EventBridge has this structure:
{
"source": "com.mycompany.zeotap",
"detail-type": "UserSync",
"detail": {
"user_id": "12345",
"email": "user@example.com",
"segment": "high_value"
},
"event-bus-name": "my-event-bus"
}The detail field contains the full row data from Zeotap as JSON.
Batch Sizes
The PutEvents API accepts up to 10 events per request with a total payload limit of 256 KB per entry and 1 MB per request. Zeotap automatically chunks larger batches into groups of 10.
Rate Limits
EventBridge PutEvents has region-specific throughput quotas:
| Region | Transactions Per Second |
|---|---|
| us-east-1, us-west-2, eu-west-1 | 10,000 |
| us-east-2, eu-central-1 | 2,400 |
| us-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-2 | 1,200 |
| Other regions | 400–600 |
These limits are adjustable through the AWS Service Quotas console. Each PutEvents call counts as one transaction regardless of how many entries it contains.
Best Practices
- Use a custom event bus for Zeotap events rather than the default bus to keep events organized and simplify rule management
- Choose meaningful source and detail-type values — these are the primary fields used for EventBridge rule matching
- Create EventBridge rules before syncing to ensure events are routed to targets immediately
- Set up a dead-letter queue on your EventBridge rules to capture events that fail target delivery
- Monitor with CloudWatch — EventBridge publishes metrics for invocations, failed invocations, and throttled rules
Troubleshooting
Access denied
Verify the IAM user has events:PutEvents permission on the target event bus. Check the IAM policy resource ARN matches the event bus ARN, including the correct region and account ID.
Event bus not found
Ensure the event bus name is correct and exists in the selected AWS region. If using a custom event bus, verify it has been created. The default bus is always available as default.
Events not triggering rules
Check that your EventBridge rules match the source and detail-type values configured in Zeotap. Rule patterns are case-sensitive. Use the EventBridge console to test your rule pattern against a sample event.
Throttling errors
If you see throttling errors, your sync is exceeding the PutEvents TPS quota for the region. Reduce sync frequency or request a quota increase through the AWS Service Quotas console.
Region mismatch
The selected region must match the region where the EventBridge event bus was created. Verify the event bus region in the EventBridge console.
Large events failing
Individual event entries cannot exceed 256 KB. If rows contain large fields (e.g., JSON blobs or long text), consider excluding those fields from the sync or reducing the data volume per row.