4. 安装SDK
您可以通过Maven方式获取和安装SDK,您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
具体的SDK版本号请参见 SDK开发中心 。
Copied!
<dependencies>
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-dns</artifactId>
<version>3.0.66</version>
</dependency>
</dependencies>
5.开始使用
查询公网域名列表示例代码
Copied!
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);
DnsClient client = DnsClient.newBuilder()
.withCredential(auth)
.withRegion(DnsRegion.valueOf("cn-north-4"))
.build();
ListPublicZonesRequest request = new ListPublicZonesRequest();
request.withType("public");
request.withLimit(1);
try {
ListPublicZonesResponse response = client.listPublicZones(request);
LOGGER.info(response.toString());
} catch (ConnectionException e) {
LOGGER.error(e.toString());
} catch (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. 返回示例
公网域名列表
Copied!
{
"zones": [
{
"id": "8aace3b97c27b313017ca6ec553d053e",
"name": "example.com.",
"description": "This is an example zone.",
"email": "xx@example.com",
"ttl": 300,
"serial": 1,
"masters": [],
"status": "ACTIVE",
"pool_id": "ff8080825ce479fe015ceca527b90001",
"project_id": "03636axxxxxxxxxxxxxxxxxxacacd567",
"zone_type": "public",
"created_at": "2021-10-22T07:34:38.361",
"updated_at": "2021-10-22T07:00:06.786",
"record_num": 2,
"links": {
"self": "https://dns.myhuaweicloud.com/v2/zones/8aace3b97c27b313017ca6ec553d053e"
},
"enterprise_project_id": "0"
}
],
"links": {
"self": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public",
"next": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public&marker=8aace3b97c27b313017ca6ccb864659c"
},
"metadata": {
"total_count": 2
}
}
1. 版本说明
本示例基于华为云SDK V3.0版本开发。
2. 功能介绍
华为云提供了DNS云解析服务的SDK,您可以直接集成SDK来调用DNS的相关API,从而实现对DNS的快速操作。 该示例展示了如何通过java版SDK查询用户创建的公网域名列表。
3. 前置条件
4. 安装SDK
您可以通过Maven方式获取和安装SDK,您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
具体的SDK版本号请参见 SDK开发中心 。
<dependencies> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-dns</artifactId> <version>3.0.66</version> </dependency> </dependencies>
5.开始使用
查询公网域名列表示例代码
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); DnsClient client = DnsClient.newBuilder() .withCredential(auth) .withRegion(DnsRegion.valueOf("cn-north-4")) .build(); ListPublicZonesRequest request = new ListPublicZonesRequest(); request.withType("public"); request.withLimit(1); try { ListPublicZonesResponse response = client.listPublicZones(request); LOGGER.info(response.toString()); } catch (ConnectionException e) { LOGGER.error(e.toString()); } catch (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. 返回示例
公网域名列表
{ "zones": [ { "id": "8aace3b97c27b313017ca6ec553d053e", "name": "example.com.", "description": "This is an example zone.", "email": "xx@example.com", "ttl": 300, "serial": 1, "masters": [], "status": "ACTIVE", "pool_id": "ff8080825ce479fe015ceca527b90001", "project_id": "03636axxxxxxxxxxxxxxxxxxacacd567", "zone_type": "public", "created_at": "2021-10-22T07:34:38.361", "updated_at": "2021-10-22T07:00:06.786", "record_num": 2, "links": { "self": "https://dns.myhuaweicloud.com/v2/zones/8aace3b97c27b313017ca6ec553d053e" }, "enterprise_project_id": "0" } ], "links": { "self": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public", "next": "https://dns.myhuaweicloud.com/v2/zones?limit=1&type=public&marker=8aace3b97c27b313017ca6ccb864659c" }, "metadata": { "total_count": 2 } }
7.接口及参数说明
参见:查询公网Zone的列表
8. 参考
更多示例信息请参考DNS
9. 修订记录