# Default Configuration for Scala Kinesis Enrich. enrich { # Sources currently supported are: # 'kinesis' for reading Thrift-serialized records from a Kinesis stream # 'stdin' for reading Base64-encoded Thrift-serialized records from stdin source = "kinesis" # Sinks currently supported are: # 'kinesis' for writing enriched events to one Kinesis stream and invalid events to another. # 'stdouterr' for writing enriched events to stdout and invalid events to stderr. # Using "sbt assembly" and "java -jar" is recommended to disable sbt # logging. sink = "kinesis" # AWS credentials # # If both are set to 'cpf', a properties file on the classpath is used. # http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/ClasspathPropertiesFileCredentialsProvider.html # # If both are set to 'iam', use AWS IAM Roles to provision credentials. # # If both are set to 'env', use environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY aws { access-key: "iam" secret-key: "iam" } streams { in: { raw: "{{mystream-good}}" # After enrichment, are accumulated in a buffer before being sent to Kinesis. # The buffer is emptied whenever: # - the number of stored records reaches record-limit or # - the combined size of the stored records reaches byte-limit or # - the time in milliseconds since it was last emptied exceeds time-limit when # a new event enters the buffer buffer: { byte-limit: 500 record-limit: 1 time-limit: 500 } } out: { enriched: "{{mystream-enriched}}" bad: "{{mystreams-bad}}" # Minimum and maximum backoff periods # - Units: Milliseconds backoffPolicy: { minBackoff: 10 maxBackoff: 100 } } # "app-name" is used for a DynamoDB table to maintain stream state. # You can set it automatically using: "SnowplowKinesisEnrich-$\\{enrich.streams.in.raw\\}" app-name: "{{enrichStreamsAppName}}" # LATEST: most recent data. # TRIM_HORIZON: oldest available data. # Note: This only effects the first run of this application # on a stream. initial-position = "TRIM_HORIZON" region: "{{my-region}}" } }