Package: amazon-dax-client
The Amazon DAX Client for Python is used to accessAmazon DAXclusters 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.
Creating a connection to your DAX cluster requires using the cluster discovery endpoint URL returned
in the DescribeClusters response as the endpoint.InstallationInstall Amazon DAX Client using pip:$pipinstallamazon-dax-clientQuick StartBoto3 has two different interfaces, theresource interfaceand the botocoreclient interface. Both are supported by the Amazon DAX client, with slightly
different client initialization.For the resource API, change from:ddb=boto3.resource('dynamodb')todax=AmazonDaxClient.resource(endpoint_url=<cluster_discovery_endpoint_url>)All otherboto3.resource()arguments are accepted.For the botocore client API, change from:session=botocore.session.get_session()ddb=session.create_client('dynamodb',...)tosession=botocore.session.get_session()dax=AmazonDaxClient(session,...)For Boto3 client API, change from:ddb=boto3.client('dynamodb')todax=AmazonDaxClient(endpoint_url=<cluster_discovery_endpoint_url>)The Boto3 and botocore client APIs are exactly the same.Hostname Verification for TLS connections is enabled by default when making requests from the client to the cluster
and has no effect for unencrypted clusters. This can be turned off using the client API, be sure you understand the
implication of turning it off, which is the inability to authenticate the cluster that you are connecting to.Unsupported FeaturesThe 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.DocumentationOnce created, the interface is the same as the Boto3/botocore DynamoDB clients.Boto3 DynamoDB resource APIbotocore DynamoDB client APIFor acomplete example, follow the guide tocreate a sample app.Getting HelpPlease use these community resources for getting help.Ask a question onStackOverflowand tag it withamazon-dynamodb-daxAsk a question onthe AWS DynamoDB forumOpen a support ticket withAWS SupportChangesv2.0.3Fixes strict antlr4-python3-runtime dependencyv2.0.1Retry on NoMoreData errorFixes erroneous validation error on duplicate attribute name values in ExpressionAttributeNamesFixes botocore dependencyv2.0.0Encryption in transit featureDrop support for python versions below 3.6v1.1.8Retry logic bug fixesv1.1.7Minor bug fixesv1.1.6Linting fixesUpdated logging to log on Logger objectsv1.1.5Add jitter and backoff for retryable exceptionsv1.1.4Fixes bug starting with clusters of less than 3 nodes.v1.1.3Fixes and improvements to service discovery logic.Add support for Python 3.8.Fix'RetryHandler' object has no attribute '_cluster': AttributeErrorproblem reported in the AWS Forums.Fix problems found by static analysis.v1.1.2Fixes a bug that can result in a failure to update the roster when it
changes, which can later result in aNoRouteException.v1.1.1Fixes a bug that can result in an infinite loop on node failure.Update TransactWriteItem test item limit to 25.v1.1.0Adds support for transact-get-items and transact-write-items APIs for DyanamoDB transactions.Improved efficiency of connection pooling.v1.0.7Fix scheduling of background tasks.v1.0.6Properly de-anonymize UnprocessedItems results from BatchWrite.Raise a proper error if no backends are available.v1.0.5Fix UpdateItem result parsing with a subset of attributes changedv1.0.4Use user-specified timeoutsFix issue with update response if the item is not changedFix error decoding BatchWrite UnprocessedItems.v1.0.3Fix AmazonDaxClient.resource() when using batch_get_items or batch_write_items.v1.0.2Fix Python 2 encoding issuesFix decoding of ConsumedCapacity, ItemCollectionMetrics in batch operationsv1.0.1Initial release