Skip to main content

Enrich Kinesis (AWS)

enrich-kinesis is a standalone JVM application that reads from and writes to Kinesis streams. It can be run from anywhere, as long as it has permissions to access the streams.

It is published on Docker Hub and can be run with the following command:

docker run \
-it --rm \
-v $PWD:/snowplow \
-e AWS_ACCESS_KEY_ID=xxx \
-e AWS_SECRET_ACCESS_KEY=xxx \
snowplow/snowplow-enrich-kinesis:3.8.2 \
--enrichments /snowplow/enrichments \
--iglu-config /snowplow/resolver.json \
--config /snowplow/config.hocon

Above assumes that you have following directory structure:

It is possible to use environment variables in all of the above (for Iglu and enrichments starting from 3.7.0 only).

Depending on where the app runs, AWS_ACCESS_KEY and AWS_SECRET_KEY might not be required.

Alternatively, you can download and run a jar file from the github release.

java -jar snowplow-enrich-kinesis-3.8.2.jar \
--enrichments /snowplow/enrichments \
--iglu-config /snowplow/resolver.json \
--config /snowplow/config.hocon

Configuration guide can be found on this page and information about the monitoring on this one.

Telemetry notice

By default, Snowplow collects telemetry data for Enrich Kinesis (since version 3.0.0). Telemetry allows us to understand how our applications are used and helps us build a better product for our users (including you!).

This data is anonymous and minimal, and since our code is open source, you can inspect what’s collected.

If you wish to help us further, you can optionally provide your email (or just a UUID) in the telemetry.userProvidedId configuration setting.

If you wish to disable telemetry, you can do so by setting telemetry.disable to true.

See our telemetry principles for more information.

Was this page helpful?