内网DNS
确认Endpoint
内网 DNS 是全局产品,其 API 的服务域名为:privatezone.baidubce.com
获取AK/SK
要使用百度云产品,您需要拥有一个百度云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。可以通过如下步骤获得并了解您的AK/SK信息: 1. 注册百度云账号 2. 创建AK/SK
本文档主要介绍BOS Python SDK的安装和使用。
在阅读本文档前,您需要先开通BOS服务,并了解BOS的基本知识。若您还不了解BOS,可以参考产品描述和入门指南
新建LocalDnsClient
新建LocalDnsClient,需要先使用Endpoint、AK、SK对HaVipClientConfiguration类型config实例进行配置,再使用config实例对LocalDnsClient进行配置,配置示例如下:
ak = "Your Ak" # 账号的Ak
sk = "Your Sk" # 账号的Sk
endpoint = "bcc.bj.baidubce.com" # 服务对应的Region域名
config = BceClientConfiguration(credentials=BceCredentials(access_key_id=ak, secret_access_key=sk), endpoint=endpoint)
ld_client = ld_client.LdClient(config) # client 初始化
创建PrivateZone
函数声明
def create_private_zone(self, create_private_zone_request=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/jkk6kkh7x
返回值
操作成功:
{
"zoneId":"zone-jkgdns3h"
}
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_create_private_zone.py
删除PrivateZone
函数声明
def delete_private_zone(self, zone_id=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Kkk6kpur9
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_delete_private_zone.py
查询PrivateZone列表
函数声明
def list_private_zone(self, marker=None, max_keys=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Bkk6l42dl
返回值
操作成功:
{
"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"
}]
}
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_list_private_zone.py
查询PrivateZone详情
函数声明
def get_private_zone(self, zone_id=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Jkk6lc8li
返回值
操作成功:
{
"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"
}]
}
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_get_private_zone.py
关联VPC
函数声明
def bind_vpc(self, zone_id=None, bind_vpc_request=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/qkk6lg1af
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_bind_vpc.py
解关联VPC
函数声明
def unbind_vpc(self, zone_id=None, unbind_vpc_request=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Dkk6lkyy1
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_unbind_vpc.py
添加解析记录
函数声明
def add_record(self, zone_id=None, add_record_request=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Pkk6lpe4e
返回值
操作成功:
{
"recordId":"rc-jih8hd5s"
}
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_add_record.py
修改解析记录
函数声明
def update_record(self, record_id=None, update_record_request=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Dkk6lu5ds
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_update_record.py
删除解析记录
函数声明
def delete_record(self, record_id=None, delete_record_request=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Lkk6lx4f1
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_delete_record.py
查询解析记录列表
函数声明
def list_record(self, zone_id=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Ckk6m3d7a
返回值
操作成功:
{
"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"
}]
}
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_list_record.py
开启解析记录
函数声明
def enable_record(self, record_id=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Bkk6m60y1
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_enable_record.py
暂停解析记录
函数声明
def disable_record(self, record_id=None, client_token=None):
参数含义
请参考OpenApi文档:https://cloud.baidu.com/doc/DNS/s/Bkk6m60y1
返回值
操作成功:
# 无返回body
操作失败:
抛出异常,异常列表参考:内网dns异常列表
代码示例
具体代码示例参考:example_disable_record.py