内网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信息:
新建LdClient
LdClient是内网DNS服务的客户端,为开发者与DNS服务进行交互提供了一系列的方法。 新建LdClient时,需要先使用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);
LdClient ldClient = new LdClient(config);
创建PrivateZone
函数声明
public CreatePrivateZoneResponse createPrivateZone(CreatePrivateZoneRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 创建PrivateZone请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"zoneId":"zone-jkgdns3h"
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleCreatePrivateZone.java
删除PrivateZone
函数声明
public void deletePrivateZone(String zoneId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 删除PrivateZone请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeletePrivateZone.java
查询PrivateZone列表
函数声明
public ListPrivateZoneResponse listPrivateZone(String marker, Integer maxKeys) {
......
}
参数含义
请参考OpenAPI文档 查询PrivateZone列表请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"nextMarker": "zone-xktdeMSf",
"marker": "zone-IyWRnII7",
"maxKeys": 1,
"isTruncated": true,
"zones": [
{
"zoneId": "zone-IyWRnII7",
"zoneName": "baidu.com",
"recordCount": 2,
"createTime": "2018-12-26 20:30:45",
"updateTime": "2018-12-28 21:35:40"
}
]
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListPrivateZone.java
查询PrivateZone详情
函数声明
public GetPrivateZoneResponse getPrivateZone(String zoneId) {
......
}
参数含义
请参考OpenAPI文档 查询PrivateZone详情请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"zoneId": "zone-xktdeMSf",
"zoneName": "baidu1.com",
"recordCount": 2,
"createTime": "2018-12-26 20:30:45",
"updateTime": "2018-12-28 21:35:40"
"bindVpcs": [
{
"vpcId": "vpc-jikh8hds",
"vpcName": "vpcTest",
"vpcRegion": "bj"
}
]
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDetailPrivateZone.java
关联VPC
函数声明
public void bindVpc(String zoneId, BindVpcRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 关联VPC请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleBindVpcOnPrivateZone.java
解关联VPC
函数声明
public void unbindVpc(String zoneId, UnbindVpcRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 解关联VPC请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUnBindVpcFromPrivateZone.java
添加解析记录
函数声明
public AddRecordResponse addRecord(String zoneId, AddRecordRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 添加解析记录请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"recordId":"rc-jih8hd5s"
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleAddRecordOnPrivateZone.java
修改解析记录
函数声明
public void updateRecord(String recordId, UpdateRecordRequest body, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 修改解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleUpdateRecordOnPrivateZone.java
删除解析记录
函数声明
public void deleteRecord(String recordId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 删除解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDeleteRecordOnPrivateZone.java
查询解析记录列表
函数声明
public ListRecordResponse listRecord(String zoneId) {
......
}
参数含义
请参考OpenAPI文档 查询解析记录列表请求参数
返回值
- 操作成功
{
"metadata":具体信息参考附录metadata部分,
"nextMarker": "rc-Iy8p6arqenI7",
"marker": "rc-ik9p9zq6u5ry",
"maxKeys": 1,
"isTruncated": true,
"records": [
{
"recordId": "rc-djkf8hf9",
"rr": "ip",
"value": "192.184.18.233",
"status": "enable",
"type": "A",
"ttl": 60,
"description": "desc"
}
]
}
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleListRecordsOfPrivateZone.java
开启解析记录
函数声明
public void enableRecord(String recordId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 开启解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleEnableRecordOnPrivateZone.java
关闭解析记录
函数声明
public void disableRecord(String recordId, String clientToken) {
......
}
参数含义
请参考OpenAPI文档 关闭解析记录请求参数
返回值
- 操作成功
无
- 操作失败
操作失败返回异常列表参考异常列表
代码示例
具体代码示例参考:ExampleDisableRecordOnPrivateZone.java
附录
公共返回信息metadata格式
{
"bceRequestId":"f5f0821d-45fe-439b-bbf4-fc48b639f84a",
"contentLength":28,
"contentType":"application/json;charset=UTF-8",
"date":1701917695000,
"server":"openresty/1.15.8.1"
}