示例#1
0
        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);
        }