Menu
Amazon Pinpoint
User Guide

Streaming Amazon Pinpoint Events to Kinesis

The Kinesis platform offers services that you can use to load and analyze streaming data on AWS. You can configure Amazon Pinpoint to send app and campaign events to Amazon Kinesis Streams or Amazon Kinesis Firehose. By streaming your events, you enable more flexible options for data analysis, such as:

  • Converging the events from multiple apps into one stream so that you can analyze this data as a collection.

  • Analyzing events with AWS query services. For example, you can write SQL queries on streaming data with Amazon Kinesis Analytics.

Amazon Kinesis Streams

Amazon Kinesis Streams is a service that you can use to build custom applications that process or analyze your streaming data. For example, streaming your events to Amazon Kinesis Streams is useful if you want to use event data in your custom dashboards, generate alerts based on events, or dynamically respond to events.

For more information, see the Amazon Kinesis Streams Developer Guide.

Amazon Kinesis Firehose

Amazon Kinesis Firehose is a service that you can use to deliver your streaming data to AWS data stores, including Amazon Simple Storage Service (Amazon S3), Amazon Redshift, or Amazon Elasticsearch Service. For example, streaming your events to Kinesis Firehose is useful if you want to:

  • Use your own analytics applications and tools to analyze events in Amazon S3, Amazon Redshift, or Amazon Elasticsearch Service.

  • Send your events to Amazon S3 so that you can write SQL queries on this data with Amazon Athena.

  • Back up your event data for long-term storage in Amazon S3.

For more information, see the Amazon Kinesis Firehose Developer Guide.

Setting up Event Streaming

Complete the following steps in Amazon Pinpoint to set up event streaming.

Prerequisites

You will require:

  • An Kinesis stream or Kinesis Firehose delivery stream in your AWS account. For information about creating these resources, see Amazon Kinesis Streams in the Amazon Kinesis Streams Developer Guide or Creating an Amazon Kinesis Firehose Delivery Stream in the Amazon Kinesis Firehose Developer Guide.

  • An IAM role that grants permission to send data to your stream. Amazon Pinpoint can create this role automatically when you use the console to set up event streaming. If you want to create the role manually, see IAM Role for Streaming Events to Kinesis in the Amazon Pinpoint Developer Guide.

To set up event streaming

  1. Sign in to the AWS Management Console and open the Amazon Pinpoint console at https://console.aws.amazon.com/pinpoint/.

  2. On the Apps page, choose the app for which you want to set up data streaming.

  3. In the navigation menu, choose Manage.

  4. On the Manage page, choose Event stream.

  5. For Choose how to stream the data, select Stream to Amazon Kinesis.

  6. Under Stream to Amazon Kinesis, choose whether you want to send your events to an Kinesis stream or a Kinesis Firehose delivery stream. Then, select the stream.

  7. For IAM role, select whether you want to:

    • Automatically create a role – Amazon Pinpoint creates an IAM role with the required permissions for you. This role authorizes Amazon Pinpoint to send data to the stream you selected.

    • Choose a role from your account – Amazon Pinpoint assumes a role that you created in your account.

  8. Choose Save.

As Amazon Pinpoint receives events from your app, and as it generates campaign events, it sends this data to your Kinesis stream. For more information about the data that Amazon Pinpoint sends for an event, see Event Data in the Amazon Pinpoint Developer Guide.