根据设备名称查询设备信息
public class QueryDeviceByNameTest {
public static void main(String[] args) {
DefaultAcsClient client = BaseTest.init();
QueryDeviceByNameRequest request = new QueryDeviceByNameRequest();
request.setProductKey("******");
request.setDeviceName("test_a");
QueryDeviceByNameResponse response = null;
try {
response = client.getAcsResponse(request);
} catch (ClientException e) {
e.printStackTrace();
}
if(response != null){
System.out.println(ToStringBuilder.reflectionToString(response, ToStringStyle.SHORT_PREFIX_STYLE));
System.out.println(ToStringBuilder.reflectionToString(response.getDeviceInfo(), ToStringStyle.SHORT_PREFIX_STYLE));
}
}
}打印结果:
QueryDeviceByNameResponse[requestId=496F7F06-1C2C-42A1-9BE7-8E4FB7DBD52F,success=true,errorMessage=<null>,deviceInfo=com.aliyuncs.iot.model.v20170420.QueryDeviceByNameResponse$DeviceInfo@41408b80]
QueryDeviceByNameResponse.DeviceInfo[deviceId=******,deviceSecret=******,productKey=******,deviceStatus=<null>,deviceName=test_a,deviceType=<null>,gmtCreate=Sun, 28-May-2017 11:30:02 GMT,gmtModified=<null>]搜索条件就是某个产品(产品KEY)下的某个设备(设备名称唯一)。
以下是个人项目的思考,可跳过。客户端多个用户在同一个产品下新建设备可能重名,所以平台层面要对用户申请的设备名字进行改造,比如加前后缀等操作,粗暴点直接提醒该设备名已经占用。
版权声明:本文为weixin_37222239原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。