public void Configure(SelectRequest request) { Arguments.Add ("SignatureMethod", SignatureMethod); Arguments.Add ("SignatureVersion", SignatureVersion); Arguments.Add ("Timestamp", DateTime.UtcNow.ToString ("o")); Arguments.Add ("Version", Version); Arguments.Add ("SelectExpression", request.SelectExpression); Action = "Select"; if (request != null && request.NextToken != null) { Arguments.Add ("NextToken", request.NextToken); } if (request != null && request.ConsistentRead) { Arguments.Add ("ConsistentRead", "true"); } }
public async Task<SelectResponse> Select (SelectRequest request) { using (HttpClient Client = new HttpClient ()) { SelectRequestMarshaller marshaller = new SelectRequestMarshaller (); marshaller.Configure (request); HttpResponseMessage responseMessage; responseMessage = await Client.SendAsync (ConfigureClient (Client, marshaller)); SelectResponseUnMarshaller unmarshaler = new SelectResponseUnMarshaller (); unmarshaler.Configure (responseMessage); return unmarshaler.UnMarshal (); } }
public void TestSelectRequest() { List<ReplaceableAttribute> list = new List<ReplaceableAttribute> (); list.Add (new ReplaceableAttribute ("Test", "true", true)); List<ReplaceableItem> items = new List<ReplaceableItem> (); ReplaceableItem item0 = new ReplaceableItem ("0", list); items.Add (item0); ReplaceableItem item1 = new ReplaceableItem ("1", list); items.Add (item1); BatchPutAttributesRequest request = new BatchPutAttributesRequest ("Test", items); BatchPutAttributesResponse response = Client.BatchPutAttributes (request).Result; Assert.AreEqual (HttpStatusCode.OK, response.HttpStatusCode); SelectRequest request2 = new SelectRequest ("select * from Test where Test = 'true'", true); SelectResponse response2 = Client.Select (request2).Result; Assert.AreEqual ("Test", response2.SelectResult.Item [0].Attribute [0].Name); Assert.AreEqual ("true", response2.SelectResult.Item [0].Attribute [0].Value); Assert.AreEqual ("Test", response2.SelectResult.Item [1].Attribute [0].Name); Assert.AreEqual ("true", response2.SelectResult.Item [1].Attribute [0].Value); Assert.AreEqual (HttpStatusCode.OK, response2.HttpStatusCode); }