Beispiel #1
0
        //根据产品PK和设备名称获取设备的动态属性
        private static void TestQueryDeviceProp()
        {
            IClientProfile clientProfile = DefaultProfile.GetProfile("<your-region-id>", "<your-access-key-id>", "<your-access-key-secret>");

            DefaultAcsClient client = new DefaultAcsClient(clientProfile);

            QueryDevicePropRequest request = new QueryDevicePropRequest();

            //测试的设备和上面添加动态属性的设备是同一设备
            request.ProductKey = "<productKey>";
            request.DeviceName = "<deviceName>";

            try
            {
                QueryDevicePropResponse response = client.GetAcsResponse(request);
                Console.WriteLine(response.Success);
                Console.WriteLine(response.ErrorMessage);
                String Props = response.Props;
                Console.WriteLine("properties string: " + Props);
            }
            catch (ServerException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            Console.ReadKey();
        }
        public static QueryDevicePropResponse Unmarshall(UnmarshallerContext context)
        {
            QueryDevicePropResponse queryDevicePropResponse = new QueryDevicePropResponse();

            queryDevicePropResponse.HttpResponse = context.HttpResponse;
            queryDevicePropResponse.RequestId    = context.StringValue("QueryDeviceProp.RequestId");
            queryDevicePropResponse.Success      = context.BooleanValue("QueryDeviceProp.Success");
            queryDevicePropResponse.ErrorMessage = context.StringValue("QueryDeviceProp.ErrorMessage");
            queryDevicePropResponse.Props        = context.StringValue("QueryDeviceProp.Props");

            return(queryDevicePropResponse);
        }
        //删除设备的标签
        public void TestDeleteDeviceProp()
        {
            DefaultAcsClient acsClient = Demo.IotClient.GetClient();

            String productKey = "<productKey>";
            String devicename = "device_0821_147";
            String propKey    = "city";

            DeleteDevicePropRequest request1 = new DeleteDevicePropRequest();

            request1.ProductKey = productKey;
            request1.DeviceName = devicename;
            request1.PropKey    = propKey;

            DeleteDevicePropResponse response1 = acsClient.GetAcsResponse(request1);

            Console.WriteLine("Delete Device Tags: " + response1.Success);
            if (!(bool)response1.Success)
            {
                Console.WriteLine(response1.Code + ", " + response1.ErrorMessage);
            }

            QueryDevicePropRequest request2 = new QueryDevicePropRequest();

            request2.ProductKey = productKey;
            request2.DeviceName = devicename;

            QueryDevicePropResponse response2 = acsClient.GetAcsResponse(request2);

            Console.WriteLine(response2.Success);
            if (!(bool)response2.Success)
            {
                Console.WriteLine(response2.Code + ", " + response2.ErrorMessage);
            }
            Console.WriteLine("Tags: " + response2.Props);
        }
        //设置设备的标签,采用的是无则创建,有则更新的策略
        public void TestSaveDeviceProp()
        {
            DefaultAcsClient acsClient = Demo.IotClient.GetClient();

            String productKey = "<productKey>";
            String devicename = "device_0821_147";
            SaveDevicePropRequest request1 = new SaveDevicePropRequest();

            request1.ProductKey = productKey;
            request1.DeviceName = devicename;


            request1.Props = "{\"city\":\"hangzhou\", \"region\":\"west\"}";

            SaveDevicePropResponse response1 = acsClient.GetAcsResponse(request1);

            Console.WriteLine("Save Device Tags: " + response1.Success);
            if (!(bool)response1.Success)
            {
                Console.WriteLine(response1.Code + ", " + response1.ErrorMessage);
            }

            QueryDevicePropRequest request2 = new QueryDevicePropRequest();

            request2.ProductKey = productKey;
            request2.DeviceName = devicename;

            QueryDevicePropResponse response2 = acsClient.GetAcsResponse(request2);

            Console.WriteLine(response2.Success);
            if (!(bool)response2.Success)
            {
                Console.WriteLine(response2.Code + ", " + response2.ErrorMessage);
            }
            Console.WriteLine("Tags: " + response2.Props);
        }