04-Query-Test.cs - Amazon DynamoDB

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