Amazon DAX Client for Python
The Amazon DAX Client for Python is used to access Amazon DAX clusters from Python. It is nearly source-compatible with Boto3, with only a small change needed to the client initialization to use DAX instead of DynamoDB.
Install Amazon DAX Client using pip:
$ pip install amazon-dax-client
Boto3 has two different interfaces, the resource interface and the botocore client interface. Both are supported by the Amazon DAX client, with slightly different client initialization.
For the resource API, change from:
ddb = boto3.resource('dynamodb')
dax = AmazonDaxClient.resource( endpoint_url='dax.abcdef.us-east-1.amazon.com')
All other boto3.resource() arguments are accepted.
For the botocore client API, change from:
session = botocore.session.get_session() ddb = session.create_client('dynamodb', ...)
session = botocore.session.get_session() dax = AmazonDaxClient(session, ...)
For Boto3 client API, change from:
ddb = boto3.client('dynamodb')
dax = AmazonDaxClient(endpoint_url='dax.abcdef.us-east-1.amazon.com')
The Boto3 and botocore client APIs are exactly the same.
The Amazon DAX client does not support table operations. Any table manipulation operations must use the regular Boto3 or botocore DynamoDB client.
Paginators are not currently supported for DAX.
Once created, the interface is the same as the Boto3/botocore DynamoDB clients.
For acomplete example, follow the guide to create a sample app.
Please use these community resources for getting help.
- Adds support for transact-get-items and transact-write-items APIs for DyanamoDB transactions.
- Improved efficiency of connection pooling.
- Fix scheduling of background tasks.
- Properly de-anonymize UnprocessedItems results from BatchWrite.
- Raise a proper error if no backends are available.
- Fix UpdateItem result parsing with a subset of attributes changed
- Use user-specified timeouts
- Fix issue with update response if the item is not changed
- Fix error decoding BatchWrite UnprocessedItems.
- Fix AmazonDaxClient.resource() when using batch_get_items or batch_write_items.
- Fix Python 2 encoding issues
- Fix decoding of ConsumedCapacity, ItemCollectionMetrics in batch operations
- Initial release