公网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进行配置,具体配置方法如下:
static final String ENDPOINT = "";
static final String AK = "";
static final String SK = "";
BceClientConfiguration config = new BceClientConfiguration();
config.setCredentials(new DefaultBceCredentials(AK, SK));
config.setEndpoint(ENDPOINT);
DnsClient dnsClient = new DnsClient(config);
添加域名
函数声明
public void createZone(CreateZoneRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 添加域名请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleCreateZone.java
查询域名列表
函数声明
public ListZoneResponse listZone(String name, String marker, Integer maxKeys) {
......
}
参数含义
请参考OpenAPI文档 查询域名列表请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"nextMarker": "5678",
"marker": "1234",
"maxKeys": 1000,
"isTruncated": true,
"zones": [
{
"id": "1234",
"name": "baidu.com",
"status": "running",
"productVersion": "free",
"createTime": "2022-04-27 20:19:58",
"expireTime": "2023-04-27 20:19:58",
"tags": [
{
"tagKey": "默认项目",
"tagValue": ""
}
]
}
]
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListZone.java
删除域名
函数声明
public void deleteZone(String zoneName, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 删除域名请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteZone.java
购买付费版域名
函数声明
public void createPaidZone(CreatePaidZoneRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 购买付费版域名请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleCreatePaidZone.java
免费版域名升级成普惠版
函数声明
public void upgradeZone(UpgradeZoneRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 免费版域名升级成普惠版请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpgradeZone.java
域名续费
函数声明
public void renewZone(String name, RenewZoneRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 域名续费请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleRenewZone.java
添加解析记录
函数声明
public void createRecord(String zoneName, CreateRecordRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 添加解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleAddRecordOnZone.java
查询解析记录列表
函数声明
public ListRecordResponse listRecord(String zoneName, String rr, String id, String marker, Integer maxKeys) {
......
}
参数含义
请参考OpenAPI文档 查询解析记录列表请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"nextMarker": "5678",
"marker": "1234",
"maxKeys": 1000,
"isTruncated": true,
"records": [
{
"id":"1234",
"rr":"www",
"status":"running",
"type":"A",
"value":"192.168.1.1",
"ttl":300,
"line":default,
"description":"desc"
}
]
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListRecordOfZone.java
修改解析记录
函数声明
public void updateRecord(String zoneName, String recordId, UpdateRecordRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 修改解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpdateRecordOfZone.java
开启解析记录
函数声明
public void updateRecordEnable(String zoneName, String recordId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 修改解析记录状态请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleEnableRecordOfZone.java
关闭解析记录列表
函数声明
public void updateRecordDisable(String zoneName, String recordId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 修改解析记录状态请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDisableRecordOfZone.java
删除解析记录
函数声明
public void deleteRecord(String zoneName, String recordId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 删除解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteRecordOfZone.java
添加线路组
函数声明
public void addLineGroup(AddLineGroupRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 添加线路组请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleAddLineGroup.java
更新线路组
函数声明
public void updateLineGroup(String lineId, UpdateLineGroupRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 更新线路组请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpdateLineGroup.java
查询线路组列表
函数声明
public ListLineGroupResponse listLineGroup(String marker, Integer maxKeys) {
......
}
参数含义
请参考OpenAPI文档 查询线路组列表请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"marker": "1234",
"isTruncated": true,
"nextMarker": "6056",
"maxKeys": 1000,
"lineList": [
{
"id": "6055",
"name": "abc",
"lines": ["yunnan.ct","sichuan.cmnet"],
"relatedZoneCount": 0,
"relatedRecordCount": 0
}
]
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListLineGroup.java
删除线路组
函数声明
public void deleteLineGroup(String lineId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 删除线路组请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteLineGroup.java
附录
公共返回信息metadata格式
{
"bceRequestId":"f5f0821d-45fe-439b-bbf4-fc48b639f84a",
"contentLength":28,
"contentType":"application/json;charset=UTF-8",
"date":1701917695000,
"server":"openresty/1.15.8.1"
}