Skip to main content

Kinesis event stream processor

Build Status PyPI

A humilis plugin to deploy a Lambda function that maps events in a Kinesis event stream using a list of Python callables.

Installation

pip install humilis-kinesis-processor

Development

Assuming you have virtualenv installed:

make develop

Configure humilis:

.env/bin/humilis configure --local

Testing

Unit tests

To run the local test suite:

make test

Integration tests

Before running the integration test suite you need to set a few deployment secrets using the command:

s3keyring set [group]/[STAGE] [key] [secret]

In group humilis-kinesis-processor the following secrets need to be set:

By the default, the integration tests will deploy on a stage called DEV so the command to set the Sentry DSN is:

s3keyring set humilis-kinesis-processor:DEV sentry.dsn [SENTRYDSN]

To run the integration test suite:

make testi

The command above will deploy a Kinesis processor to your AWS account, and will also create additional resources (such as several Kinesis streams) needed to test that the deployment was successful. Once deployed, the integration tests will run, and once they have completed the test environment will be destroyed.

If you do not want the test environment to be destroyed after tests have completed you should run instead:

make testi DESTROY=no

You can also modify the name of the deployment stage by setting the STAGE environment variable. For instance, to deploy to a TEST stage:

make testi STAGE=TEST

More information

See humilis documentation.

Contact

If you have questions, bug reports, suggestions, etc. please create an issue on the GitHub project page.

License

This software is licensed under the MIT license

See License file

© 2016 Anatoly Bubenkov, German Gomez-Herrero, FindHotel and others.

Authors

Anatoly Bubenkov

initial idea and first alpha implementation

German Gomez-Herrero

actual implementation and further developments

Changelog

0.9.7

  • Support for Lambda environment variables

0.9.6

  • Do not silence exception if Kinesis payload is not a json object

0.9.5

  • Support for delivery streams filters and mappers

0.9.0

  • Better debugging of processing errors

0.8.9

  • Add error annotations to events that failed to be processed

0.8.6

  • Bugfix in error handling logic.

0.8.5

  • Better error handling.

0.7.7

  • Support for multiple delivery streams for input, error, and output(s)

0.7.6

  • Support for one-to-many mappers

0.7.5

  • Users can also specify input/output/error streams by name instead of as references to another layer outputs.

0.6.8

  • Set environment variables for the humilis environment/layer/stage

0.4.0

  • Major bugfix: permission to put records in delivery streams

0.3.0

  • Major bugfix: give permission to write state to DynamodDB

0.2.0

  • Package becomes a generic map-multiplex-map processor (germangh)

0.1.1

  • Cleanup package data (bubenkoff)

0.1.0

  • Major refactoring to simplify and clean the code (germangh)

0.0.1

  • Initial release (bubenkoff)

Release files for humilis-kinesis-processor 1.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for humilis-kinesis-processor 1.3.7
File Size Uploaded
humilis-kinesis-processor-1.3.7.tar.gz 14.2 kB Details

Release files / humilis-kinesis-processor-1.3.7.tar.gz

Download URL humilis-kinesis-processor-1.3.7.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c6e6846a6420d5bfb759294ee765880cfa5981ce1628bc8662291634c4fdd8a2
BLAKE2b-256 checksum
How to use checksums
7644e1e8e8117c287de1b2d0b7a1a31fa8593c44b14398a57933c5fa6d8501dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.3.7 This release

1 release file

1.3.6

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.9

1 release file

1.2.8

1 release file

1.2.7

1 release file

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.9.9

1 release file

0.9.8

1 release file

0.9.7

1 release file

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.9

1 release file

0.8.8

1 release file

0.8.7

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.9

1 release file

0.7.8

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.9

1 release file

0.6.8

1 release file

0.6.7

1 release file

0.6.6

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.2

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page