子网
更新时间:2023-09-11
获取Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分。
注意: 子网 API支持HTTP和HTTPS两种调用方式。为了提升数据的安全性,建议通过HTTPS调用
获取AK/SK
要使用百度智能云子网,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问服务做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息:
新建SubnetClient
SubnetClient是Subnet服务的客户端,为开发者与Subnet服务进行交互提供了一系列的方法。 新建SubnetClient时,需要先使用Endpoint、AK、SK对BceClientConfigurationl类型的config实例进行配置,再使用config实例对SubnetClient进行配置,具体配置方法如下:
HOST = b'bcc.bj.baidubce.com'
AK = b''
SK = b''
config = BceClientConfiguration(credentials=BceCredentials(AK, SK), endpoint=HOST)
self.the_client = subnet_client.SubnetClient(config)
创建子网
函数定义如下:
@required(name=(bytes, str),
zone_name=(bytes, str),
cidr=(bytes, str),
vpc_id=(bytes, str))
def create_subnet(self, name, zone_name, cidr, vpc_id, subnet_type=None,
description=None, client_token=None, config=None)
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
name | String | 是 | 子网名称,不能取值“default”,长度不超过65个字符,可由数字、字符、下划线组成 |
zone_name | String | 是 | 可用区名称 |
cidr | String | 是 | 子网的cidr |
vpc_id | String | 是 | 子网所属vpc的id |
subnet_type | String | 否 | 子网类型,“BCC”、"BBC" |
description | String | 否 | 子网描述,不超过200字符 |
client_token | String | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串 |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
subnet_name = 'test_subnet_name'
subnet_cidr = '192.168.0.64/26'
vpc_id = 'vpc-51csm6rxs9mg'
self.the_client.create_subnet(subnet_name, 'cn-bj-a', subnet_cidr, vpc_id))
列举子网
函数定义如下:
@required(marker=(bytes, str),
max_Keys=int,
vpc_id=(bytes, str),
zone_name=(bytes, str),
subnet_type=(bytes, str))
def list_subnets(self, marker=None, max_keys=None, vpc_id=None,
zone_name=None, subnet_type=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
marker | String | 否 | 批量获取列表的查询的起始位置,是一个由系统生成的字符串 |
max_keys | Integer | 否 | 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000 |
vpc_id | String | 否 | 所属vpc的id |
zone_name | String | 否 | 所属可用区的名称 |
subnet_type | String | 否 | 子网类型,"BCC"、"BBC" |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.list_subnets()
查询子网
函数定义如下:
@required(subnet_id=(bytes, str))
def get_subnet(self, subnet_id, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
subnet_id | String | 是 | 待查询子网的id |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.get_subnet(subnet_id)
更新子网
函数定义如下:
@required(subnet_id=(bytes, str),
name=(bytes, str),
description=(bytes, str))
def update_subnet(self, subnet_id, name, description=None, client_token=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
subnet_id | String | 是 | 待更新子网的id |
name | String | 是 | 子网名称,不能取值“default”,长度不超过65个字符,可由数字、字符、下划线组成 |
description | String | 否 | 子网描述,不超过200字符 |
client_token | String | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串 |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.update_subnet(subnet_id, 'test_update_name1', 'test_update_description1')
注意: 只允许更新子网的name和description字段,cidr、zone_name和type字段不能更新
删除子网
函数定义如下:
@required(subnet_id=(bytes, str))
def delete_subnet(self, subnet_id, client_token=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
subnet_id | String | 是 | 待删除子网的id |
client_token | String | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串 |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.delete_subnet(subnet_id)