Amazon EventBridge connector
The Amazon EventBridge connector publishes events to a custom EventBridge event bus when asset lifecycle events occur. Use this connector to fan out resource events to multiple downstream consumers through EventBridge rules — notifying external systems, triggering workflows in other AWS accounts, or feeding event-driven architectures.
EventBridge is a publish-only connector type. It sends events outward from SDMA but does not derive content or serve resources inward. This is intentional — EventBridge is a publish bus with no natural inbound read path.
Step type: eventBridgePutEvents
Roles
| Role | Description |
|---|---|
|
Publisher |
Sends structured events to an EventBridge event bus when asset lifecycle events occur. The event detail contains the mapped asset metadata. |
|
Step type |
Participates in multi-step triggers alongside other step types. An |
Prerequisites
-
Create or identify the target EventBridge custom event bus.
-
Create an IAM role:
-
Role name must start with
SpatialDataManagementContentPublisher-. -
Trust policy must allow the SDMA connector invocation Lambda to assume it:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<SDMA_ACCOUNT_ID>:role/SpatialDataManagement-ConnectorInvocationFunctionRole" }, "Action": "sts:AssumeRole" } ] } -
Permissions policy must grant
events:PutEventson the target event bus:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "events:PutEvents", "Resource": "arn:aws:events:<REGION>:<ACCOUNT_ID>:event-bus/<EVENT_BUS_NAME>" } ] }
-
Using EventBridge as a publisher
Example: publish asset events to an event bus
{ "defaultStepConfig": { "stepType": "eventBridgePutEvents", "eventBridgeConfig": { "eventBusArn": "arn:aws:events:<REGION>:<ACCOUNT_ID>:event-bus/<EVENT_BUS_NAME>", "source": "sdma.connectors", "detailType": "AssetLifecycleEvent", "securityConfig": { "type": "AssumeRole", "assumeRoleArn": "arn:aws:iam::<ACCOUNT_ID>:role/SpatialDataManagementContentPublisher-EventBridge" } } }, "fieldMappings": [ { "source": "asset.assetId", "target": "assetId" }, { "source": "asset.assetName", "target": "assetName" }, { "source": "project.projectId", "target": "projectId" } ], "triggers": [ { "description": "Publish asset lifecycle events", "resources": ["asset"], "events": ["create", "update", "delete"], "steps": [{}] } ] }
Downstream consumers create EventBridge rules that match on source and detailType to route events to Lambda functions, SQS queues, Step Functions, or other targets.
Using EventBridge as a step type in multi-step triggers
The eventBridgePutEvents step type can appear in multi-step triggers. A common pattern is to write metadata to S3, invoke a Lambda function, and then publish a notification event:
"steps": [ { "stepType": "s3PutObject", "s3Config": { "objectKey": "assets/${asset.assetId}.json" } }, { "stepType": "lambdaInvoke", "lambdaConfig": { "functionArn": "arn:aws:lambda:<REGION>:<ACCOUNT_ID>:function:post-process" } }, { "stepType": "eventBridgePutEvents", "eventBridgeConfig": { "eventBusArn": "arn:aws:events:<REGION>:<ACCOUNT_ID>:event-bus/notifications", "source": "sdma.connectors", "detailType": "AssetPublished" } } ]
Configuration fields
| Field | Required | Description |
|---|---|---|
|
|
Yes |
ARN of the target EventBridge custom event bus. |
|
|
Yes |
Event source string. Use a descriptive namespace (for example, |
|
|
Yes |
Event detail type. Downstream rules match on this value. |
|
|
Yes |
Authentication configuration. Must use |
|
|
No |
Array of field names to include in the event detail. If omitted, all mapped fields are included. |