An enterprise e-commerce platform publishes high-volume checkout transaction events to a custom Amazon EventBridge event bus. A developer needs to route a subset of these events (specifically where the payment status is 'approved' and transaction amount exceeds ) to an Amazon Kinesis Data Stream containing shards for real-time analytics. An AWS Lambda function is configured to process these records from the Kinesis stream. The developer must ensure that events from the same customer are processed sequentially in the correct order, and that EventBridge has the necessary permissions to write to the Kinesis stream.
Which combination of configuration steps should the developer perform to meet these requirements? (Select two.)
- Configure the Kinesis Data Stream as the target for the EventBridge rule, and set the PartitionKeyPath to `$.detail.customerId` in the target configuration settings.Answer
- Configure the EventBridge rule's execution IAM role with a trust policy that allows the `events.amazonaws.com` service principal to assume the role, and an identity-based policy that grants `kinesis:PutRecord` or `kinesis:PutRecords` permissions on the target stream.Answer
- CConfigure the EventBridge target with a static string partition key constant, such as `'HighValueTransactions'`, to ensure that all forwarded events are grouped and processed together in a single shard.
- DConfigure the EventBridge rule's IAM role with a trust policy that allows the `kinesis.amazonaws.com` service principal to assume the role, granting the target stream permission to pull events from the event bus.
- EConfigure the Kinesis Event Source Mapping for the Lambda function with a batch size of and set the Lambda function's timeout to seconds to maximize record throughput.
Answer
The developer should configure the Kinesis Data Stream as the EventBridge target with the PartitionKeyPath set to the customer ID path, and configure the execution role to trust the EventBridge service principal with permissions to write to the Kinesis stream.
Configuring the target with the `PartitionKeyPath` set to `$.detail.customerId` ensures customer-level ordering. Configuring the EventBridge execution role with a trust policy for `events.amazonaws.com` and permission for `kinesis:PutRecord` or `kinesis:PutRecords` enables the service to deliver events securely.
Step-by-Step Solution
Key Concept
Configuring secure EventBridge target delivery to Kinesis with dynamic partitioning to preserve ordering.