EventBridge + Kinesis

1

We're trying to send an event to EventBridge after a producer publishes to a Kinesis Data Stream. We then want to configure EventBridge api destination to send event to Salesforce and create a platform event.

Kinesis -> EventBridge-> Rule+ Bus + Api Destination-> Salesforce

  1. We first thought that we can setup a rule on EventBridge so that certain kinesis events based on filtering criteria can be routed to an event bus. We were unsuccessful to find any kinesis events routed to EventBridge. **Do we need an additional layer between Kinesis and EventBridge? **

  2. We then tried lambda based approach. Wrote a lambda with Kinesis as trigger and EventBridge as destination. While we saw lambda function getting executed but destination never gets invoked. On further research it seems that on success destination isn't supported on a lambda where Kinesis is configured as trigger. Can someone confirm this?

Looking for some guidance on if pattern 1 and pattern 2 are at all feasible and any pointers on implementation.

4 Answers
0
Accepted Answer
  1. Yes, you will need some compute such as a Lambda function. The function will get the records from Kinesis and write them to EventBridge.
  2. You are correct, Lambda destinations are only available for asynchronous invocation and Kinesis is not asynchronous (it is called Event source mapping). You should write code in the function that iterates over the records in the payload and sends them to the bus using the EventBridge API.

Your architecture should look like: Kinesis -> Lambda -> EventBridge -> API Destination -> Salesforce.

profile pictureAWS
EXPERT
Uri
answered 2 years ago
0

Thank you Uri. That did it. Added code in lambda to push event to EventBridge. Thanks for the help.

answered 2 years ago
0

A new solution without the need of a lambda is the new eventbridge pipes. It has support to Kinesis Data Streams as source and EventBridge bus as target.

Good luck

answered a year ago
0

Now eventbridge directly supports Kinesis data streams as source. Here is an example: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-kinesis.html

abhisht
answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions