0. 版本说明
本示例基于华为云SDK V3.0版本开发。
1. 简介
华为云提供了IoT边缘SDK,您可以直接集成服务端SDK来调用IoT边缘的相关API,从而实现查看应用版本的快速操作。该示例展示了如何通过java版SDK对应用版本进行查询。
2. 开发前准备
- 已 注册 华为云,并完成 实名认证 。
- 已开通 IoT边缘IoTEdge服务。访问IoT边缘IoTEdge服务产品首页,单击“立即使用”,进入IoT边缘服务控制台,单击页面右上角“开通服务”,即可自助开通服务。
- 已具备开发环境 ,支持Java JDK 1.8及其以上版本。
- 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
- 已获取IoTEdge服务对应区域(北京四)的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证 。
3. 安装SDK
您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-iotedge”,具体的SDK版本号请参见 SDK开发中心 。
Copied!
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-core</artifactId>
<version>3.0.56</version>
</dependency>
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-iotedge</artifactId>
<version>3.0.68</version>
</dependency>
4. 开始使用
4.1 导入依赖模块
Copied!
import com.huaweicloud.sdk.core.auth.BasicCredentials;
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.iotedge.v2.IoTEdgeClient;
import com.huaweicloud.sdk.iotedge.v2.region.IoTEdgeRegion;
import com.huaweicloud.sdk.iotedge.v2.model.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
4.2 初始化认证信息
Copied!
BasicCredentials auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
相关参数说明如下所示:
- ak:华为云账号Access Key。
- sk:华为云账号Secret Access Key 。
4.3 初始化IoT边缘的客户端
Copied!
IoTEdgeClient client = IoTEdgeClient.newBuilder()
.withCredential(auth)
.withRegion(IoTEdgeRegion.CN_NORTH_4)
.build();
}
相关参数说明如下所示:
service region: 服务所在区域,当前支持北京四
5. 示例代码
使用如下代码对应用版本进行查询,调用前请根据实际情况替换如下变量,以及各个方法中包含的参数:
- < YOUR AK >
- < YOUR SK >
- < APP_ID >
- < APP_VERSION >
Copied!
public class ShowEdgeApplicationVersionDemo {
private static final Logger logger = LoggerFactory.getLogger(ShowEdgeApplicationVersionDemo.class);
public static void main(String[] args) {
String ak = System.getenv("HUAWEICLOUD_SDK_AK");
String sk = System.getenv("HUAWEICLOUD_SDK_SK");
ICredential auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
IoTEdgeClient client = IoTEdgeClient.newBuilder()
.withCredential(auth)
.withRegion(IoTEdgeRegion.CN_NORTH_4)
.build();
ShowEdgeApplicationVersionRequest request = new ShowEdgeApplicationVersionRequest()
.withEdgeAppId("<APP_ID>")
.withVersion("<APP_VERSION>");
try {
ShowEdgeApplicationVersionResponse response = client.showEdgeApplicationVersion(request);
logger.info(response.toString());
} catch (ConnectionException | RequestTimeoutException e) {
logger.error(e.toString());
} catch (ServiceResponseException e) {
logger.error(String.valueOf(e.getHttpStatusCode()));
logger.error(String.valueOf(e.getErrorCode()));
logger.error(String.valueOf(e.getErrorMsg()));
logger.error(e.toString());
}
}
}
8. 修订记录
发布日期 |
文档版本 |
修订说明 |
2021-11-26 |
1.0 |
文档首次发布 |
0. 版本说明
本示例基于华为云SDK V3.0版本开发。
1. 简介
华为云提供了IoT边缘SDK,您可以直接集成服务端SDK来调用IoT边缘的相关API,从而实现查看应用版本的快速操作。该示例展示了如何通过java版SDK对应用版本进行查询。
2. 开发前准备
3. 安装SDK
您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-iotedge”,具体的SDK版本号请参见 SDK开发中心 。
<dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-core</artifactId> <version>3.0.56</version> </dependency> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-iotedge</artifactId> <version>3.0.68</version> </dependency>
4. 开始使用
4.1 导入依赖模块
// 用户身份认证 import com.huaweicloud.sdk.core.auth.BasicCredentials; 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; // 导入IoTEdge的客户端 import com.huaweicloud.sdk.iotedge.v2.IoTEdgeClient; // 导入服务区域枚举 import com.huaweicloud.sdk.iotedge.v2.region.IoTEdgeRegion; // 导入IoTEdge 接口的request和response类 import com.huaweicloud.sdk.iotedge.v2.model.*; // 日志打印 import org.slf4j.Logger; import org.slf4j.LoggerFactory;
4.2 初始化认证信息
BasicCredentials auth = new BasicCredentials() .withAk(ak) .withSk(sk);
相关参数说明如下所示:
4.3 初始化IoT边缘的客户端
IoTEdgeClient client = IoTEdgeClient.newBuilder() .withCredential(auth) .withRegion(IoTEdgeRegion.CN_NORTH_4) // 服务所在区域 .build(); }
相关参数说明如下所示:
service region: 服务所在区域,当前支持北京四
5. 示例代码
使用如下代码对应用版本进行查询,调用前请根据实际情况替换如下变量,以及各个方法中包含的参数:
public class ShowEdgeApplicationVersionDemo { private static final Logger logger = LoggerFactory.getLogger(ShowEdgeApplicationVersionDemo.class); 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"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); IoTEdgeClient client = IoTEdgeClient.newBuilder() .withCredential(auth) .withRegion(IoTEdgeRegion.CN_NORTH_4) .build(); ShowEdgeApplicationVersionRequest request = new ShowEdgeApplicationVersionRequest() .withEdgeAppId("<APP_ID>") .withVersion("<APP_VERSION>"); try { ShowEdgeApplicationVersionResponse response = client.showEdgeApplicationVersion(request); logger.info(response.toString()); } catch (ConnectionException | RequestTimeoutException e) { logger.error(e.toString()); } catch (ServiceResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(String.valueOf(e.getErrorCode())); logger.error(String.valueOf(e.getErrorMsg())); logger.error(e.toString()); } } }
6.接口及参数说明
参见:查询应用版本详情
7. 参考
更多示例信息请参考IoTEdge
8. 修订记录