Sprockets DynamoDB

An asynchronous DynamoDB client and mixin for Tornado applications

Version Status Coverage License

Installation

sprockets-dynamodb is available on the Python package index and is installable via pip:

pip install sprockets-dynamodb

Documentation

Documentation is available at sprockets-dynamodb.readthedocs.io.

Configuration

The following table details the environment variable configuration options.

Variable Definition Default
DYNAMODB_ENDPOINT Override the default DynamoDB HTTP endpoint  
DYNAMODB_MAX_CLIENTS Maximum number of concurrent DynamoDB clients/requests per process 100
DYNAMODB_MAX_RETRIES Maximum number retries for transient errors 3
DYANMODB_NO_CREDS_RATE_LIMIT If set to true, a sprockets_dynamodb.NoCredentialsException will return a 429 response when using sprockets_dynamodb.DynamoDBMixin  

Mixin Configuration

The sprockets_dynamodb.DynamoDBMixin class will automatically raise HTTPError responses for different classes of errors coming from DynamoDB. In addition it will attempt to work with the Sprockets InfluxDB client to instrument all DynamoDB requests, submitting per request measurements to InfluxDB. It will attempt to automatically tag measurements with the application/service name if the SERVICE environment variable is set. It will also tag the measurement if the ENVIRONMENT environment variable is set with the environment that the application is running in. Finally, if you are using the Sprockets Correlation Mixin, measurements will automatically be tagged with the correlation ID for a request.

Requirements