04-Query-Test.cs - Amazon DynamoDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

04-Query-Test.cs

The 04-Query-Test.cs program performs Query operations on TryDaxTable.

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 using System; using System.Collections.Generic; using System.Threading.Tasks; using Amazon.Runtime; using Amazon.DAX; using Amazon.DynamoDBv2.Model; namespace ClientTest { class Program { public static async Task Main(string[] args) { string endpointUri = args[0]; Console.WriteLine($"Using DAX client - endpointUri={endpointUri}"); var clientConfig = new DaxClientConfig(endpointUri) { 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 = await client.QueryAsync(request); Console.WriteLine($"{i}: Query succeeded"); } var endTime = DateTime.Now; TimeSpan timeSpan = endTime - startTime; Console.WriteLine($"Total time: {timeSpan.TotalMilliseconds} milliseconds"); Console.WriteLine("Hit <enter> to continue..."); Console.ReadLine(); } } }