# huaweicloud-dris-samples-rsu-java
**Repository Path**: HuaweiCloudDeveloper/huaweicloud-dris-samples-rsu-java
## Basic Information
- **Project Name**: huaweicloud-dris-samples-rsu-java
- **Description**: 华为云提供了IoT设备接入SDK,您可以直接集成服务端SDK来调用DRIS的相关API,从而实现管理RSU功能。该示例展示了如何通过java版SDK来管理RSU。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master-dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-01-03
- **Last Updated**: 2025-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 版本说明
本示例基于华为云SDK V3.0版本开发
## 功能介绍
华为云提供了DRIS服务端SDK,您可以直接集成服务端SDK来调用DRIS的相关API,对道路设备和感知事件等资源进行相关操作,该示例展示了如何通过java版SDK来管理RSU设备。
## 前置条件
- 1、获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。
- 2、要使用华为云 Java SDK,您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。
- 3、华为云 Java SDK 支持 **Java JDK 1.8** 及其以上版本。
### SDK获取和安装
您可以通过Maven配置所依赖的主机迁移服务SDK。
```xml
com.huaweicloud.sdk
huaweicloud-sdk-dris
3.1.22
```
## 示例代码
```java
public class RsuSolutionDemo {
private static final Logger logger = LoggerFactory.getLogger(RsuSolutionDemo.class);
public static void main(String[] args) {
String ak = "";
String sk = "";
// 创建DrisClient实例。
ICredential auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
DrisClient client = DrisClient.newBuilder()
.withCredential(auth)
.withRegion(DrisRegion.valueOf("cn-north-4"))
.build();
try {
String rsuId = createRsu(client);
listRsus(client);
updateRsu(client, rsuId);
deleteRsu(client, rsuId);
} catch (ConnectionException e) {
logger.error("connection error", e);
} catch (RequestTimeoutException e) {
logger.error("RequestTimeoutException", e);
} catch (ServiceResponseException e) {
logger.error("ServiceResponseException", e);
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
private static void deleteRsu(DrisClient client, String rsuId) {
DeleteRsuRequest request = new DeleteRsuRequest();
request.setRsuId(rsuId);
DeleteRsuResponse response = client.deleteRsu(request);
System.out.println(response.toString());
}
private static void updateRsu(DrisClient client, String rsuId) {
UpdateRsuRequest request = new UpdateRsuRequest();
request.setRsuId(rsuId);
ModifyRsuRequestDTO body = new ModifyRsuRequestDTO();
body.setDescription("update rsu");
request.withBody(body);
UpdateRsuResponse response = client.updateRsu(request);
System.out.println(response.toString());
}
private static void listRsus(DrisClient client) {
BatchShowRsusRequest request = new BatchShowRsusRequest();
BatchShowRsusResponse response = client.batchShowRsus(request);
System.out.println(response.toString());
}
private static String createRsu(DrisClient client) {
CreateRsuRequest request = new CreateRsuRequest();
AddRsuDTO body = new AddRsuDTO();
body.setName("");
body.setEsn("");
// 设置RSU相关联的Edge设备个数,如RSU仅关联1个Edge
body.setRelatedEdgeNum(1);
request.withBody(body);
CreateRsuResponse response = client.createRsu(request);
System.out.println(response.toString());
return response.getRsuId();
}
}
```
相关参数说明如下所示:
- ak:华为云账号Access Key
- sk:华为云账号Secret Access Key
- region:服务所在区域,当前支持北京四,即"cn-north-4"
## 参考
更多信息请参考[API Explorer](https://console.ulanqab.huawei.com/apiexplorer/#/apidoc/DRIS)
## 修订记录
| 发布日期 | 文档版本 | 修订说明 |
| :--------: | :------: | :----------: |
| 2023-01-16 | 1.0 | 文档首次发布 |