对等连接
对等连接 SDK文档
获取Endpoint
在确认您使用SDK配置Endpoint时,可先阅读开发人员指南中关于 VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分,对等连接服务是VPC服务的一部分,使用VPC服务的域名。
获取密钥
要使用百度云产品,您需要拥有一个百度云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。可以通过如下步骤获得并了解您的AK/SK信息: 1. 注册百度云账号 2. 创建AK/SK
peerconn_client
peerconn_client将对等连接服务的API进行封装,简化了开发者与对等连接服务的交互,用户可调用peerconn_client中的方法对对等连接进行配置,peerconn_client中方法返回参数与API方法一致。
新建peerconn_client
新建peerconn_client时,需要先使用Endpoint、AK、SK对BceClientConfiguration类型config实例进行配置,再使用config实例对peerconn_client进行配置,具体配置方法如下:
1HOST = b''
2 AK = b''
3 SK = b''
4 config = BceClientConfiguration(
5 credentials=BceCredentials(AK, SK), endpoint=HOST)
6 self.client = peerconn_client.PeerConnClient(config)
创建对等连接
创建对等连接时,需注意:
- 对于同账号的对等连接,系统会触发对端自动接受。
- 跨账号的对等连接,必须接受端接受后对等连接才可用。
- 对于本端区域和对端区域相同的对等连接,billing参数只支持后付费(需要传billing参数,但是计费账单为0)。
- 任意两个VPC之间最多只能存在一条对等连接。
- 发起端和接收端的VPC不能是同一个。
- 如果本端vpc和对端vpc均为中继vpc,则不可以建立对等连接。
可以使用create_peerconn函数在指定VPC之间创建对等连接,函数定义如下:
1@required(bandwidth_in_mbps=int,
2 local_vpc_id=(bytes, str),
3 peer_vpc_id=(bytes, str),
4 peer_region=(bytes, str))
5def create_peerconn(self, bandwidth_in_mbps, local_vpc_id,
6 peer_vpc_id, peer_region, description=None,
7 local_if_name=None, peer_account_id=None,
8 peer_if_name=None, client_token=None,
9 billing=None, config=None, tags=None,
10 resourceGroupId=None, deleteProtect=False):
参数含义
请参考OpenAPI文档: https://cloud.baidu.com/doc/VPC/s/bjwvyue8y
返回值
操作成功:
1{
2 "peerConnId": "peerconn-9td54fmx143e"
3}
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例 具体代码示例参考:example_create_peerconn.py
查询对等连接列表
可以使用list_peerconns函数查询对等连接列表,函数定义如下:
1@required(vpc_id=(bytes, str))
2def list_peerconns(self, vpc_id, marker=None,
3 max_keys=None, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Fjwvyuemr
返回值
操作成功:
1{
2 "peerConns":[
3 {
4 "peerConnId":"peerconn-9td54fmx143e",
5 "role":"initiator",
6 "status":"active",
7 "bandwithInMbp":500,
8 "description":"peer_diff_account",
9 "localIfId":"qpif-ken2yc9j8x56",
10 "localIfName":"int-SpLVk25R",
11 "localVpcId":"vpc-13vuxu016dew",
12 "localRegion":"bj",
13 "peerVpcId":"vpc-jcvmhw9h1a35",
14 "peerRegion":"bj",
15 "peerAccountId":"75c14a239bb24b9e88b695e8e9e47952",
16 "dnsStatus":"close",
17 "paymentTiming":"Postpaid",
18 "createdTime" :"2018-08-07 19:46:55",
19 "expiredTime":expiredTime
20 }
21 ]
22 "marker":"peerconn-9td54fmx143e",
23 "isTruncated": true,
24 "nextMarker": "peerconn-srbvvxmjn7ux",
25 "maxKeys": 1
26}
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_list_peerconn.py
查询对等连接详情
可以使用get_peerconn函数查询对等连接详情,函数定义如下:
1@required(peer_conn_id=(bytes, str))
2def get_peerconn(self, peer_conn_id, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Sjwvyudwm
返回值
操作成功:
1{
2 "peerConnId":"peerconn-cbp4xrtzk3fb",
3 "role":"initiator",
4 "status":"active",
5 "bandwithInMbp":1000,
6 "description":"mypeerconn",
7 "localIfId":"qpif-qz9a61ujsizt",
8 "localIfName":"dsds",
9 "localVpcId":"20fada00-f66e-40de-bed4-954af13dc0b2",
10 "localRegion":"bj",
11 "peerVpcId":"1aa1427d-92cf-45d0-bc31-ab4d9fe71425",
12 "peerRegion":"bj",
13 "peerAccountId":"75c14a239bb24b9e88b695e8e9e47952",
14 "createdTime":"2018-08-03 20:38:43"
15 "expiredTime":null,
16 "dnsStatus":"close",
17 "paymentTiming":"Postpaid",
18 "tags":[
19 {
20 "tagKey":"tagKey",
21 "tagValue":"tagValue"
22 }
23 ],
24 "deleteProtect":true
25}
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_get_peerconn.py
更新对等连接本端接口名称和备注
可以使用update_peerconn函数更新对等连接,函数定义如下:
1@required(peer_conn_id=(bytes, str), local_if_id=(bytes, str))
2def update_peerconn(self, peer_conn_id, local_if_id, description=None,
3 local_if_name=None, client_token=None, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/1jwvyufpd
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_update_peerconn.py
处理对等连接申请
- 发起端发出的连接请求超时时间为7天,超时后发起端对等连接的状态为协商失败。
- 接收端拒绝后,发起端对等连接状态为协商失败。
可以使用handle_peerconn函数处理对等连接申请,函数定义如下:
1@required(peer_conn_id=(bytes, str), action=(bytes, str))
2def handle_peerconn(self, peer_conn_id, action, client_token=None,
3 config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/wjwvyud6p
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_handle_peerconn.py
释放对等连接
可以使用delete_peerconn函数释放对等连接,函数定义如下:
1@required(peer_conn_id=(bytes, str))
2def delete_peerconn(self, peer_conn_id, client_token=None,
3 config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/0jwvyucfy
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_delete_peerconn.py
对等连接带宽升降级
可以使用resize_peerconn函数升降级对等连接带宽,函数定义如下:
1@required(peer_conn_id=(bytes, str), new_bandwidth_in_mbps=int)
2def resize_peerconn(self, peer_conn_id, new_bandwidth_in_mbps,
3 client_token=None, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Wjwvyufcb
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_resize_peerconn.py
对等连接续费
- 后付费的对等连接不能续费。
- 跨账号续费操作只能由发起端来操作。
可以使用purchase_reserved_peerconn函数续费对等连接,函数定义如下:
1@required(peer_conn_id=(bytes, str))
2def purchase_reserved_peerconn(self, peer_conn_id, client_token=None,
3 billing=None, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/9jwvyudie
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_purchase_reserved_peerconn.py
开启对等连接同步DNS
- 对等连接的状态为可用的时候才能开启DNS。
- 对等连接的DNS状态为同步中或同步关闭中不可开启同步DNS。
可以使用open_peerconn_dns_sync函数开启对等连接同步DNS,函数定义如下:
1@required(peer_conn_id=(bytes, str), role=(bytes, str))
2def open_peerconn_dns_sync(self, peer_conn_id, role,
3 client_token=None, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Qjwvyuf0h
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_open_peerconn_sync_dns.py
关闭对等连接同步DNS
- 对等连接的状态为可用的时候才能关闭DNS。
- 对等连接的DNS状态为同步中或同步关闭中不可关闭同步DNS。
可以使用close_peerconn_dns_sync函数关闭对等连接同步DNS,函数定义如下:
1@required(peer_conn_id=(bytes, str), role=(bytes, str))
2def close_peerconn_dns_sync(self, peer_conn_id, role,
3 client_token=None, config=None)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/ojwvyucs2
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例
具体代码示例参考:example_close_peerconn_dns_sync.py
更新对等连接释放保护开关
可以使用update_peerconn_delete_protect函数更新对等连接释放保护开关,函数定义如下:
1@required(peer_conn_id=(bytes, str), delete_protect=(bool,))
2def update_peerconn_delete_protect(self, peer_conn_id, delete_protect,
3 client_token=None, config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/4lzjn3dsi
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:对等连接异常列表
代码示例