公网DNS
获取Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于DNS服务域名的部分,理解Endpoint相关的概念。
注意: DNS API支持HTTP和HTTPS两种调用方式。为了提升数据的安全性,建议通过HTTPS调用
获取AK/SK
要使用百度智能云DNS,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问服务做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息:
新建DnsClient
DnsClient是公网DNS服务的客户端,为开发者与DNS服务进行交互提供了一系列的方法。 新建DnsClient时,需要先使用Endpoint、AK、SK对BceClientConfigurationl类型的config实例进行配置,再使用config实例对DnsClient进行配置,具体配置方法如下:
1static final String ENDPOINT = "";
2static final String AK = "";
3static final String SK = "";
4BceClientConfiguration config = new BceClientConfiguration();
5config.setCredentials(new DefaultBceCredentials(AK, SK));
6config.setEndpoint(ENDPOINT);
7DnsClient dnsClient = new DnsClient(config);
添加域名
函数声明
1public void createZone(CreateZoneRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 添加域名请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleCreateZone.java
查询域名列表
函数声明
1public ListZoneResponse listZone(String name, String marker, Integer maxKeys) {
2 ......
3}
参数含义
请参考OpenAPI文档 查询域名列表请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "nextMarker": "5678",
4 "marker": "1234",
5 "maxKeys": 1000,
6 "isTruncated": true,
7 "zones": [
8 {
9 "id": "1234",
10 "name": "baidu.com",
11 "status": "running",
12 "productVersion": "free",
13 "createTime": "2022-04-27 20:19:58",
14 "expireTime": "2023-04-27 20:19:58",
15 "tags": [
16 {
17 "tagKey": "默认项目",
18 "tagValue": ""
19 }
20 ]
21 }
22 ]
23}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListZone.java
删除域名
函数声明
1public void deleteZone(String zoneName, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 删除域名请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteZone.java
购买付费版域名
函数声明
1public void createPaidZone(CreatePaidZoneRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 购买付费版域名请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleCreatePaidZone.java
免费版域名升级成普惠版
函数声明
1public void upgradeZone(UpgradeZoneRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 免费版域名升级成普惠版请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpgradeZone.java
域名续费
函数声明
1public void renewZone(String name, RenewZoneRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 域名续费请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleRenewZone.java
添加解析记录
函数声明
1public void createRecord(String zoneName, CreateRecordRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 添加解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleAddRecordOnZone.java
查询解析记录列表
函数声明
1public ListRecordResponse listRecord(String zoneName, String rr, String id, String marker, Integer maxKeys) {
2 ......
3}
参数含义
请参考OpenAPI文档 查询解析记录列表请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "nextMarker": "5678",
4 "marker": "1234",
5 "maxKeys": 1000,
6 "isTruncated": true,
7 "records": [
8 {
9 "id":"1234",
10 "rr":"www",
11 "status":"running",
12 "type":"A",
13 "value":"192.168.1.1",
14 "ttl":300,
15 "line":default,
16 "description":"desc"
17 }
18 ]
19}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListRecordOfZone.java
修改解析记录
函数声明
1public void updateRecord(String zoneName, String recordId, UpdateRecordRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 修改解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpdateRecordOfZone.java
开启解析记录
函数声明
1public void updateRecordEnable(String zoneName, String recordId, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 修改解析记录状态请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleEnableRecordOfZone.java
关闭解析记录列表
函数声明
1public void updateRecordDisable(String zoneName, String recordId, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 修改解析记录状态请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDisableRecordOfZone.java
删除解析记录
函数声明
1public void deleteRecord(String zoneName, String recordId, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 删除解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteRecordOfZone.java
添加线路组
函数声明
1public void addLineGroup(AddLineGroupRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 添加线路组请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleAddLineGroup.java
更新线路组
函数声明
1public void updateLineGroup(String lineId, UpdateLineGroupRequest body, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 更新线路组请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpdateLineGroup.java
查询线路组列表
函数声明
1public ListLineGroupResponse listLineGroup(String marker, Integer maxKeys) {
2 ......
3}
参数含义
请参考OpenAPI文档 查询线路组列表请求参数
返回值
- 操作成功
1{
2 "metadata":具体信息参考附录metadata部分,
3 "marker": "1234",
4 "isTruncated": true,
5 "nextMarker": "6056",
6 "maxKeys": 1000,
7 "lineList": [
8 {
9 "id": "6055",
10 "name": "abc",
11 "lines": ["yunnan.ct","sichuan.cmnet"],
12 "relatedZoneCount": 0,
13 "relatedRecordCount": 0
14 }
15 ]
16}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListLineGroup.java
删除线路组
函数声明
1public void deleteLineGroup(String lineId, String clientToken) {
2 ......
3}
参数含义
请参考OpenAPI文档 删除线路组请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteLineGroup.java
附录
公共返回信息metadata格式
1 {
2 "bceRequestId":"f5f0821d-45fe-439b-bbf4-fc48b639f84a",
3 "contentLength":28,
4 "contentType":"application/json;charset=UTF-8",
5 "date":1701917695000,
6 "server":"openresty/1.15.8.1"
7 }