This topic explains how to create and test an Amazon Kinesis destination for Data Export.
You can export all of the flag evaluation and event data generated by LaunchDarkly SDKs to a Kinesis data stream.
To set up a Kinesis destination, you must configure your AWS account with the following information:
If you don’t already have a Kinesis stream, create one by reading Amazon’s documentation.
As a best practice, we recommend that you use 1 shard for every 50 million events you send us a month. This recommendation is an estimate based on typical usage patterns, not a requirement.
To prevent performance degradation, adjust your shard count based on your actual usage at peak times. If you expect usage spikes, provision more shards. If you do not use enough shards for the load, AWS may throttle your data stream. If this happens, you may experience data loss.
This section explains how to create an IAM policy to support the Kinesis Data Export.
If you create a new Kinesis stream, write down or save the following information:
You will need this information when you configure your export.
To create an IAM policy:
{region}{account-id}{stream-name}.This section explains how to create a cross-account IAM role for LaunchDarkly to assume so it can access the policy.
To create a cross-account IAM role:

It’s safe and straightforward to set up the role as described above, but your organization may have security requirements limiting what kind of roles you can trust.
If your organization’s security policies require you to trust a specific role, we’ve provided a role for you to trust instead. Only Data Export services can assume this role, not accounts belonging to people.
The role is: arn:aws:iam::554582317989:role/LaunchDarkly-data-export
Trust our role by following a procedure in Amazon’s documentation.
Using the region, stream name, and role ARN from earlier in the procedure, you can now create the Kinesis destination within LaunchDarkly.
To create the Kinesis destination:
After you save the destination, send a test event to confirm that the destination is configured properly.
To send a test event:
LaunchDarklyDataExportTestEvent. When this key appears in the destination, you know the test event arrived.Kinesis records have partition keys. When LaunchDarkly creates a record, it creates a random partition key.
Kinesis Data Streams are very flexible. You can consume them in a lambda function, write an application to consume the streams, and use a number of pre-built AWS integrations.
A common use case is to use the Data Stream to populate a data store, such as S3 or Redshift, by setting the Kinesis Data Stream as a source to a Kinesis Data Firehose. To learn how to do this, read Amazon’s documentation.
After you create a Data Export destination, you must start sending flag or environment event data to it. You can enable Data Export for individual flags, or for all the flags in an environment.
To learn more, read Export event data for flags and environments.
You can delete a Data Export destination from the Integrations screen.
To delete a destination: