Amazon DynamoDB
Developer Guide (API Version 2012-08-10)

04-query-test.py

The 04-query-test.py program performs Query operations on TryDaxTable.

# # Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # This file is licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. A copy of # the License is located at # # http://aws.amazon.com/apache2.0/ # # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the # specific language governing permissions and limitations under the License. # #!/usr/bin/env python from __future__ import print_function import os, sys, time import amazondax import botocore.session region = os.environ.get('AWS_DEFAULT_REGION', 'us-west-2') session = botocore.session.get_session() dynamodb = session.create_client('dynamodb', region_name=region) # low-level client table_name = "TryDaxTable" if len(sys.argv) > 1: endpoint = sys.argv[1] dax = amazondax.AmazonDaxClient(session, region_name=region, endpoints=[endpoint]) client = dax else: client = dynamodb pk = 5 sk1 = 2 sk2 = 9 iterations = 5 params = { 'TableName': table_name, 'KeyConditionExpression': 'pk = :pkval and sk between :skval1 and :skval2', 'ExpressionAttributeValues': { ":pkval": {'N': str(pk)}, ":skval1": {'N': str(sk1)}, ":skval2": {'N': str(sk2)} } } start = time.time() for i in range(iterations): result = client.query(**params) end = time.time() print('Total time: {} sec - Avg time: {} sec'.format(end - start, (end-start)/iterations))