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

04-Query-Test.cs

The 04-Query-Test.cs 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. */ using Amazon.Runtime; using Amazon.DAX; using Amazon.DynamoDBv2.Model; using System.Collections.Generic; using System; using Amazon.DynamoDBv2; using Amazon; namespace ClientTest { class Program { static void Main(string[] args) { String hostName = args[0].Split(':')[0]; int port = Int32.Parse(args[0].Split(':')[1]); Console.WriteLine("Using DAX client - hostname=" + hostName + ", port=" + port); var clientConfig = new DaxClientConfig(hostName, port) { AwsCredentials = FallbackCredentialsFactory.GetCredentials() }; var client = new ClusterDaxClient(clientConfig); var tableName = "TryDaxTable"; var pk = 5; var sk1 = 2; var sk2 = 9; var iterations = 5; var startTime = DateTime.Now; for (var i = 0; i < iterations; i++) { var request = new QueryRequest() { TableName = tableName, KeyConditionExpression = "pk = :pkval and sk between :skval1 and :skval2", ExpressionAttributeValues = new Dictionary<string, AttributeValue>() { {":pkval", new AttributeValue {N = pk.ToString()} }, {":skval1", new AttributeValue {N = sk1.ToString()} }, {":skval2", new AttributeValue {N = sk2.ToString()} } } }; var response = client.QueryAsync(request).Result; Console.WriteLine(i + ": Query succeeded"); } var endTime = DateTime.Now; TimeSpan timeSpan = endTime - startTime; Console.WriteLine("Total time: " + (int)timeSpan.TotalMilliseconds + " milliseconds"); Console.WriteLine("Hit <enter> to continue..."); Console.ReadLine(); } } }