//根据产品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); }