public static QueryDeviceByTagsResponse Unmarshall(UnmarshallerContext _ctx) { QueryDeviceByTagsResponse queryDeviceByTagsResponse = new QueryDeviceByTagsResponse(); queryDeviceByTagsResponse.HttpResponse = _ctx.HttpResponse; queryDeviceByTagsResponse.RequestId = _ctx.StringValue("QueryDeviceByTags.RequestId"); queryDeviceByTagsResponse.Success = _ctx.BooleanValue("QueryDeviceByTags.Success"); queryDeviceByTagsResponse.Code = _ctx.StringValue("QueryDeviceByTags.Code"); queryDeviceByTagsResponse.ErrorMessage = _ctx.StringValue("QueryDeviceByTags.ErrorMessage"); queryDeviceByTagsResponse.Page = _ctx.IntegerValue("QueryDeviceByTags.Page"); queryDeviceByTagsResponse.PageSize = _ctx.IntegerValue("QueryDeviceByTags.PageSize"); queryDeviceByTagsResponse.PageCount = _ctx.IntegerValue("QueryDeviceByTags.PageCount"); queryDeviceByTagsResponse.Total = _ctx.IntegerValue("QueryDeviceByTags.Total"); List <QueryDeviceByTagsResponse.QueryDeviceByTags_SimpleDeviceInfo> queryDeviceByTagsResponse_data = new List <QueryDeviceByTagsResponse.QueryDeviceByTags_SimpleDeviceInfo>(); for (int i = 0; i < _ctx.Length("QueryDeviceByTags.Data.Length"); i++) { QueryDeviceByTagsResponse.QueryDeviceByTags_SimpleDeviceInfo simpleDeviceInfo = new QueryDeviceByTagsResponse.QueryDeviceByTags_SimpleDeviceInfo(); simpleDeviceInfo.ProductName = _ctx.StringValue("QueryDeviceByTags.Data[" + i + "].ProductName"); simpleDeviceInfo.ProductKey = _ctx.StringValue("QueryDeviceByTags.Data[" + i + "].ProductKey"); simpleDeviceInfo.DeviceName = _ctx.StringValue("QueryDeviceByTags.Data[" + i + "].DeviceName"); simpleDeviceInfo.IotId = _ctx.StringValue("QueryDeviceByTags.Data[" + i + "].IotId"); queryDeviceByTagsResponse_data.Add(simpleDeviceInfo); } queryDeviceByTagsResponse.Data = queryDeviceByTagsResponse_data; return(queryDeviceByTagsResponse); }
//根据设备标签获取设备列表 public void TestQueryDeviceByTags() { DefaultAcsClient acsClient = Demo.IotClient.GetClient(); String productKey = "<productKey>"; String deviceTags = "{\"city\":\"hangzhou\", \"region\":\"west\"}"; for (int i = 100; i <= 150; i += 1) { String devicename = "device_0821_" + i; SaveDevicePropRequest request = new SaveDevicePropRequest(); request.ProductKey = productKey; request.DeviceName = devicename; request.Props = deviceTags; SaveDevicePropResponse response1 = acsClient.GetAcsResponse(request); Console.WriteLine("Save Device Tags: " + response1.Success); if (!(bool)response1.Success) { Console.WriteLine(response1.Code + ", " + response1.ErrorMessage); } } QueryDeviceByTagsRequest request2 = new QueryDeviceByTagsRequest(); request2.CurrentPage = 1; request2.PageSize = 50; List <QueryDeviceByTagsRequest.Tag> Tags = new List <QueryDeviceByTagsRequest.Tag>(); QueryDeviceByTagsRequest.Tag tag1 = new QueryDeviceByTagsRequest.Tag(); tag1.TagKey = "city"; tag1.TagValue = "hangzhou"; Tags.Add(tag1); request2.Tags = Tags; QueryDeviceByTagsResponse response2 = acsClient.GetAcsResponse(request2); Console.WriteLine(response2.Success); if (!(bool)response2.Success) { Console.WriteLine(response2.Code + ", " + response2.ErrorMessage); } Console.WriteLine("Page: " + response2.Page); Console.WriteLine("PageSize: " + response2.PageSize); Console.WriteLine("PageCount: " + response2.PageCount); Console.WriteLine("Total: " + response2.Total); }