更新时间:2024-10-22 GMT+08:00

Java SDK使用指南

物联网平台提供Java语言的应用侧SDK供开发者使用。本文介绍Java SDK的安装和配置,及使用Java SDK调用应用侧API的示例。

SDK获取和安装

  1. 安装Java开发环境。

    访问Java官网,下载并说明安装Java开发环境。

    华为云Java SDK支持Java JDK 1.8 及其以上版本。

  2. 安装Maven软件

    通过 Maven 安装项目依赖是使用 Java SDK 的推荐方法,首先您需要下载安装 Maven ,安装完成后您只需在 Java 项目的 pom.xml 文件加入相应的依赖项即可。

  3. 安装Java SDK

    添加Maven依赖:

    <dependency>
        <groupId>com.huaweicloud.sdk</groupId>
        <artifactId>huaweicloud-sdk-core</artifactId>
        <version>[3.0.40-rc, 3.2.0)</version>
    </dependency>
    <dependency>
        <groupId>com.huaweicloud.sdk</groupId>
        <artifactId>huaweicloud-sdk-iotda</artifactId>
        <version>[3.0.40-rc, 3.2.0)</version>
    </dependency>

代码示例

Maven依赖版本请使用版本区间,如您使用具体版本号,请使用3.0.60及以上。

以调用查询设备列表接口为例,以下代码示例向您展示使用Java SDK的主要步骤:

  1. 创建认证。
  2. 创建IoTDAClient实例并初始化。
  3. 实例化请求对象。
  4. 调用查询设备列表接口。

    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.core.region.Region;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.iotda.v5.*;
    import com.huaweicloud.sdk.iotda.v5.model.*;
    
    public class ListDevicesSolution {
    
        // REGION_ID:如果是上海一,请填写"cn-east-3";如果是北京四,请填写"cn-north-4";如果是华南广州,请填写"cn-south-1"
        private static final String REGION_ID = "<YOUR REGION ID>";
        // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。
        private static final String ENDPOINT = "<YOUR ENDPOINT>";
    
        public static void main(String[] args) {
            // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
            // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
            String ak = System.getenv("HUAWEICLOUD_SDK_AK");        
            String sk = System.getenv("HUAWEICLOUD_SDK_SK");
            String projectId = "<YOUR PROJECTID>";
    
            // 创建认证
            ICredential auth = new BasicCredentials()
                   .withAk(ak)
                   .withSk(sk)
                   // 标准版/企业版需要使用衍生算法,基础版请删除配置"withDerivedPredicate"
                   .withDerivedPredicate(BasicCredentials.DEFAULT_DERIVED_PREDICATE)
                   .withProjectId(projectId);
    
            // 创建IoTDAClient实例并初始化
            IoTDAClient client = IoTDAClient.newBuilder()
                    .withCredential(auth)
                    // 标准版/企业版:需自行创建Region对象,基础版:请使用IoTDARegion的region对象,如"withRegion(IoTDARegion.CN_NORTH_4)"
                    .withRegion(new Region(REGION_ID, ENDPOINT))
                   // .withRegion(IoTDARegion.CN_NORTH_4)
                    // 配置是否忽略SSL证书校验, 默认不忽略
                    // .withHttpConfig(new HttpConfig().withIgnoreSSLVerification(true))
                    .build();
    
            // 实例化请求对象
            ListDevicesRequest request = new ListDevicesRequest();
            try {
                // 调用查询设备列表接口
                ListDevicesResponse response = client.listDevices(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }

参数

说明

ak

您的华为云账号访问密钥ID(Access Key ID)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥

sk

您的华为云账号秘密访问密钥(Secret Access Key)。

projectId

项目ID。获取方法请参见 获取项目ID

IoTDARegion.CN_NORTH_4

请替换为您要访问的物联网平台的区域,当前物联网平台可以访问的区域,在SDK代码IoTDARegion.java中已经定义。

您可以在控制台上查看当前服务所在区域名称,区域名称、区域和终端节点的对应关系,具体步骤请参考地区和终端节点

REGION_ID

如果是上海一,请填写"cn-east-3";如果是北京四,请填写"cn-north-4";如果是华南广州,请填写"cn-south-4"

ENDPOINT

请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。

项目源码及更多详细的使用指导请参考华为云Java软件开发工具包(Java SDK)