本示例介绍使用Alibaba Cloud SDK for Java调用QueryDeviceDetail接口查询设备详情。

前提条件

请在pom.xml文件中增加以下依赖,准确的SDK版本号,参见阿里云开发工具包(SDK)

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-iot</artifactId>
    <version>6.11.0</version>
 </dependency>

示例代码

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.iot.model.v20180120.QueryDeviceDetailRequest;
import com.aliyuncs.iot.model.v20180120.QueryDeviceDetailResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;

/**
 * 调用该接口查询指定设备的详细信息。
 */
public class TestQueryDeviceDetail {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile(
                "<your-region-id>",            // 地域ID
                "<your-access-key-id>",        // 您的AccessKey ID
                "<your-access-key-secret>");  // 您的AccessKey Secret
        IAcsClient client = new DefaultAcsClient(profile);
        // 创建请求接口
        QueryDeviceDetailRequest request = new QueryDeviceDetailRequest();

        // 要查询的设备ID。
        // 如果传入该参数,则无需传入 ProductKey和 DeviceName。
        // IotId作为设备唯一标识符,和 ProductKey与 DeviceName组合是一一对应的关系。
        // 如果您同时传入 IotId和 ProductKey与 DeviceName组合,则以 IotId为准。
        request.setIotId("yourIotId");

        // 指定要查询的设备的名称。
        // 说明 如果传入该参数,需同时传入 ProductKey。
        // request.setDeviceName("yourDeviceName");

        // 要查询的设备所隶属的产品Key。
        // request.setProductKey("yourProductKey");

        // 共享实例用户不传此参数;仅独享实例用户需传入实例ID。
        // request.setIotInstanceId("");

        try {
            // 发起请求并获取返回值
            QueryDeviceDetailResponse response = client.getAcsResponse(request);
            // 处理业务逻辑
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}
说明 更多参数信息,请参见API参考