public static QueryDeviceResponse Unmarshall(UnmarshallerContext context) { QueryDeviceResponse queryDeviceResponse = new QueryDeviceResponse(); queryDeviceResponse.HttpResponse = context.HttpResponse; queryDeviceResponse.RequestId = context.StringValue("QueryDevice.RequestId"); queryDeviceResponse.Success = context.BooleanValue("QueryDevice.Success"); queryDeviceResponse.ErrorMessage = context.StringValue("QueryDevice.ErrorMessage"); queryDeviceResponse.Total = context.IntegerValue("QueryDevice.Total"); queryDeviceResponse.PageSize = context.IntegerValue("QueryDevice.PageSize"); queryDeviceResponse.PageCount = context.IntegerValue("QueryDevice.PageCount"); queryDeviceResponse.Page = context.IntegerValue("QueryDevice.Page"); List <QueryDeviceResponse.QueryDevice_DeviceInfo> queryDeviceResponse_data = new List <QueryDeviceResponse.QueryDevice_DeviceInfo>(); for (int i = 0; i < context.Length("QueryDevice.Data.Length"); i++) { QueryDeviceResponse.QueryDevice_DeviceInfo deviceInfo = new QueryDeviceResponse.QueryDevice_DeviceInfo(); deviceInfo.DeviceId = context.StringValue("QueryDevice.Data[" + i + "].DeviceId"); deviceInfo.DeviceSecret = context.StringValue("QueryDevice.Data[" + i + "].DeviceSecret"); deviceInfo.ProductKey = context.StringValue("QueryDevice.Data[" + i + "].ProductKey"); deviceInfo.DeviceStatus = context.StringValue("QueryDevice.Data[" + i + "].DeviceStatus"); deviceInfo.DeviceName = context.StringValue("QueryDevice.Data[" + i + "].DeviceName"); deviceInfo.DeviceType = context.StringValue("QueryDevice.Data[" + i + "].DeviceType"); deviceInfo.GmtCreate = context.StringValue("QueryDevice.Data[" + i + "].GmtCreate"); deviceInfo.GmtModified = context.StringValue("QueryDevice.Data[" + i + "].GmtModified"); queryDeviceResponse_data.Add(deviceInfo); } queryDeviceResponse.Data = queryDeviceResponse_data; return(queryDeviceResponse); }
//分页获取产品的设备列表 public void TestQueryDevice() { DefaultAcsClient acsClient = Demo.IotClient.GetClient(); QueryDeviceRequest request = new QueryDeviceRequest(); request.ProductKey = "<productKey>"; request.CurrentPage = 1; request.PageSize = 10; QueryDeviceResponse response = acsClient.GetAcsResponse(request); Console.WriteLine(response.Success); Console.WriteLine(response.ErrorMessage); Console.WriteLine(response.Code); Console.WriteLine("CurrentPage" + response.Page); Console.WriteLine("PageCount: " + response.PageCount); Console.WriteLine("Total" + response.Total); List <QueryDeviceResponse.QueryDevice_DeviceInfo> data = response.Data; for (int i = 0; i < data.Count; i += 1) { QueryDeviceResponse.QueryDevice_DeviceInfo deviceInfo = data[i]; Console.WriteLine(deviceInfo.DeviceId + ", " + deviceInfo.DeviceName + ", " + deviceInfo.ProductKey + ", " + deviceInfo.IotId); } }
//分页获取某产品下的设备列表 private static void TestQueryDevicePageByProduct() { IClientProfile clientProfile = DefaultProfile.GetProfile("<your-region-id>", "<your-access-key-id>", "<your-access-key-secret>"); DefaultAcsClient client = new DefaultAcsClient(clientProfile); QueryDeviceRequest request = new QueryDeviceRequest(); request.PageSize = 10; request.CurrentPage = 1; request.ProductKey = "<productKey>"; try { QueryDeviceResponse response = client.GetAcsResponse(request); Console.WriteLine(response.Success); Console.WriteLine(response.ErrorMessage); List <QueryDeviceResponse.QueryDevice_DeviceInfo> Data = response.Data; Console.WriteLine("count: " + Data.Count); foreach (QueryDeviceResponse.QueryDevice_DeviceInfo Info in Data) { Console.WriteLine(Info.DeviceName); } } catch (ServerException e) { Console.WriteLine(e.ErrorCode); Console.WriteLine(e.ErrorMessage); } catch (ClientException e) { Console.WriteLine(e.ErrorCode); Console.WriteLine(e.ErrorMessage); } Console.ReadKey(); }