04-Query-Test.cs - Amazon DynamoDB
Services or capabilities described in AWS documentation might vary by Region. To see the differences applicable to the AWS European Sovereign Cloud Region, see the AWS European Sovereign Cloud User Guide.

04-Query-Test.cs

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

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(); } } }