AWS Kinesis Firehose
Integrating Streamdal with Kinesis Data Firehose provides a powerful and efficient interface for searching and storing events. In this example, we will demonstrate integrating with Amazon AWS SES service.
Create a JSON collection
- Login into https://console.streamdal.com
- Navigate to βCollectionsβ
- Click βNew Collectionβ at the top right
- Name your collection and select JSON format
Create Kinesis Data Firehose
These steps are specific to SES integration but you can adjust most to your use case
- Navigate to Kinesis in AWS console
- Under βData Firehoseβ select βCreate delivery streamβ
- Enter a βDelivery stream nameβ
- Select βDirect PUT or other sourcesβ
- Enable βEnable server-side encryption for source records in delivery streamβ if desired
- At the bottom of the page select Next
- On the next page, Processing Records leave defaults and select Next
- Under βChoose a destinationβ select βHTTP Endpointβ
- Set βHTTP endpoint URLβ to https://http-collector.dev.streamdal.com/v1/kinesis
- Set βAccess keyβ to the βCollection Tokenβ found under the Collection we created earlier in https://console.streamdal.com under the collections tab
- Configure an S3 bucket for failed records and select Next
- On the next page leave the defaults and select Next
- Review and select βCreate delivery streamβ
Tie Kinesis Data Firehose to SES
Follow the guide https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-add-event-destination-firehose.html to create an SES set and tie it to the Kinesis data firehose you created earlier.
Configure your application so use the SES
Follow the guide https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-send-email.html to associate your email to an SES set
Use Streamdal to view SES Data
- Trigger an SES email that uses the SES set we created earlier
- Wait a few minutes for Kinesis to send the event to Streamdal
- Navigate to the collection we created earlier at https://console.streamdal.com
- Click on a message to view the JSON and all searchable fields
In the image above I clicked on the field βeventTypeβ on the right-hand side. You can see the search field was automatically updated with the correct search syntax to find more SNS event types that match the value βOpenβ
Summary
You now have a much better and simpler way of dealing with Kinesis data than dumping to an S3 bucket or managing your own Elasticsearch cluster. You also get access to many more features such as being able to replay these events into other destinations for further processing.