Java SDK使用指南
物联网平台提供Java语言的应用侧SDK供开发者使用。本文介绍Java SDK的安装和配置,及使用Java SDK调用应用侧API的示例。
SDK获取和安装
- 安装Java开发环境。
访问Java官网,下载并说明安装Java开发环境。
华为云Java SDK支持Java JDK 1.8 及其以上版本。
- 安装Maven软件
通过 Maven 安装项目依赖是使用 Java SDK 的推荐方法,首先您需要下载并安装 Maven ,安装完成后您只需在 Java 项目的 pom.xml 文件加入相应的依赖项即可。
- 安装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的主要步骤:
- 创建认证。
- 创建IoTDAClient实例并初始化。
- 实例化请求对象。
- 调用查询设备列表接口。
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)。