Sylvite is packaged as a fat executable jar. To use it, simply download the latest version
and execute the jar:
Note: Java 7 or greater is required.
Configuration can be set via environment variables or a config file, here’s
an equivalent config file version:
See the configuration page for a description of all the available options.
IAM Policy
The KCL requires the following IAM policy similar to the following (this is for the us-east-1 aws region),
restricting dynamodb access to the table MyAppName and kinesis access to the stream MyKinesisStream.
Example: Python Kinesis Processor
The example above references the my-multilang-script.sh script, which must conform
to the multi-lang protocol in order to process records. As a concrete example, here’s
how to create a python kinesis processor.
Install the kclpy python kinesis library.
Create a file named app.py.
Start processing the stream.
Logging
As the KCL multi-lang protocol communicates with the child processes using STDOUT,
all child processes must log messages to STDERR. These will be echoed in the
STDOUT of the parent process.
Note: If your stream has more than one shard, the KCL will spawn one child process
for each shard. This will result in merged log messages. For traceablity, you
may want to include the process id in your log messages. Here’s an example that
will prefix log messages with the process id.