集群
创建集群(老套餐)
如下代码可以新建一个老套餐集群(不支持计算资源和存储资源分离),集群包含1个es_node节点和1个kibana节点。
def create_cluster_example(self):
"""
创建集群
"""
# 创建集群的名称
# 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
name = 'your cluster name'
# 创建集群的密码
# 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
password = 'your cluster password'
# 设置节点类型信息
# type表示节点的类型;es_node表示es节点、kibana表示kibana节点
# instance_num表示节点的数量
# slot_type表示资源配置类型(新旧套餐的资源配置类型,详见代码下方说明)
slot_type = 'calculate_v1'
modules = [Module(type='es_node', instance_num=1, slot_type=slot_type),
Module(type='kibana', instance_num=1, slot_type=slot_type)]
# 创建集群的版本,sdk支持的版本是'7.4.2'、'6.5.3'、'5.5.0',其中创建'6.5.3'、'5.5.0'版本需要提工单进行开通
version = '7.4.2'
# 设置是否为新套餐集群,True表示老套餐、False表示新套餐
is_old_package = True
# 设置创建集群时用的可用区(见代码下方说明)
available_zone = 'available_zone'
# 设置安全组ID(见代码下方说明)
security_group_id = 'security_group_id'
# 设置子网ID(见代码下方说明)
subnet_uuid = 'subnet_uuid'
# 设置创建集群时用的VPC(见代码下方说明)
vpc_id = 'vpc_id'
# 创建集群计费信息
# payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
# time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
billing = Billing(payment_type='postpay', time=0)
response = client.create_cluster(name=name,
password=password,
modules=modules,
version=version,
is_old_package=is_old_package,
available_zone=available_zone,
security_group_id=security_group_id,
subnet_uuid=subnet_uuid,
vpc_id=vpc_id,
billing=billing)
assertEqual(type(response), baidubce.bce_response.BceResponse)
# 输出响应
print(response)
if response.success:
# 执行成功
print(response.status) # http响应码
print(response.result) # 返回结果
else:
# 执行失败
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | str | 是 | 集群名称 |
password | str | 是 | 操作ES所需的密码 |
modules | Module数组 | 是 | 节点信息 |
version | str | 是 | 集群版本 |
is_old_package | bool | 是 | 是否为老套餐 |
available_zone | str | 是 | 可用区 |
security_group_id | str | 是 | 安全组ID |
subnet_uuid | str | 是 | 子网ID |
vpc_id | str | 是 | 虚拟网络ID |
billing | ClusterBilling | 是 | 集群计费信息 |
Module
名称 | 类型 | 参数描述 |
---|---|---|
type | str | 节点的类型;es_node表示es节点、kibana表示kibana节点 |
instance_num | int | 节点数量 |
slot_type | str | 节点数量 |
instance_num | int | 节点数量 |
ClusterBilling
名称 | 类型 | 参数描述 |
---|---|---|
payment_type | str | 计费方式;postpay表示后付费、prepay表示预付费 |
time | int | 购买时长(后付费为0),单位是月 |
资源配置类型设置请参考节点配置类型按需创建集群
获取vpc id方式(可用区域、安全组ID、子网ID参考vpc id方式)
1.获取VPC ID(vpc_id):详见文档链接
2.获取可用区域(available_zone)、子网uuid(subnet_uuid):详见文档链接
3.获取安全组ID(security_group_id):详见文档链接
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
名称 | 类型 | 参数描述 |
---|---|---|
order_id | str | 订单ID |
- 创建BES请求是一个异步请求,成功后返回200和订单ID表明订单生成,后续可以通过查询集群列表查看集群创建进度。 response.result结果为:{order_id:u'your order id'}
创建集群(新套餐)
如下代码可以新建一个新套餐集群(支持计算资源和存储资源分离),集群包含1个es_node节点和1个kibana节点。
def create_cluster_example(self):
"""
创建集群
"""
# 创建集群的名称
# 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
name = 'your cluster name'
# 创建集群的密码
# 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
password = 'your cluster password'
# 设置节点磁盘信息
# type表示磁盘类型(见代码下方说明)
# size表示磁盘大小,单位是G
disk_slot_info = DiskSlotInfo(type='premium_ssd', size=50)
# 设置节点类型信息
# type表示节点的类型;es_node表示es节点、kibana表示kibana节点
# instance_num表示节点的数量
# slot_type表示资源配置类型(新旧套餐的资源配置类型,详见代码下方说明)
# disk_slot_info表示磁盘信息
modules = [Module(type='es_node', instance_num=1, slot_type='bes.g3.c2m8', disk_slot_info=disk_slot_info),
Module(type='kibana', instance_num=1, slot_type='bes.c3.c1m2')]
# 创建集群的版本,sdk支持的版本是'7.4.2'(低于该版本的es集群不支持新套餐)
version = '7.4.2'
# 设置是否为新套餐集群,True表示老套餐、False表示新套餐
is_old_package = False
# 设置创建集群时用的可用区(见代码下方说明)
available_zone = 'available_zone'
# 设置安全组ID(见代码下方说明)
security_group_id = 'security_group_id'
# 设置子网ID(见代码下方说明)
subnet_uuid = 'subnet_uuid'
# 设置创建集群时用的VPC(见代码下方说明)
vpc_id = 'vpc_id'
# 创建集群计费信息
# payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
# time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
billing = Billing(payment_type='postpay', time=0)
response = client.create_cluster(name=name,
password=password,
modules=modules,
version=version,
is_old_package=is_old_package,
available_zone=available_zone,
security_group_id=security_group_id,
subnet_uuid=subnet_uuid,
vpc_id=vpc_id,
billing=billing)
assertEqual(type(response), baidubce.bce_response.BceResponse)
# 输出响应
print(response)
if response.success:
# 执行成功
print(response.status) # http响应码
print(response.result) # 返回结果
else:
# 执行失败
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | str | 是 | 集群名称 |
password | str | 是 | 操作ES所需的密码 |
modules | Module数组 | 是 | 节点信息 |
version | str | 是 | 集群版本 |
is_old_package | bool | 是 | 是否为老套餐 |
available_zone | str | 是 | 可用区 |
security_group_id | str | 是 | 安全组ID |
subnet_uuid | str | 是 | 子网ID |
vpc_id | str | 是 | 虚拟网络ID |
billing | ClusterBilling | 是 | 集群计费信息 |
Module
名称 | 类型 | 参数描述 |
---|---|---|
type | str | 节点的类型;es_node表示es节点、kibana表示kibana节点 |
instance_num | int | 节点数量 |
slot_type | str | 表示资源配置类型 |
disk_slot_info | DiskSlotInfo | 磁盘信息 |
DiskSlotInfo
名称 | 类型 | 参数描述 |
---|---|---|
type | str | 磁盘类型;ssd表示高效云盘、premium_ssd表示ssd云盘 |
size | int | 磁盘大小,单位G |
ClusterBilling
名称 | 类型 | 参数描述 |
---|---|---|
payment_type | str | 计费方式;postpay表示后付费、prepay表示预付费 |
time | int | 购买时长(后付费为0),单位是月 |
资源配置类型设置请参考节点配置类型按需创建集群
获取vpc id方式(可用区域、安全组ID、子网ID参考vpc id方式)
1.获取VPC ID(vpc_id):详见文档链接
2.获取可用区域(available_zone)、子网uuid(subnet_uuid):详见文档链接
3.获取安全组ID(security_group_id):详见文档链接
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
名称 | 类型 | 参数描述 |
---|---|---|
order_id | str | 订单ID |
- 创建BES请求是一个异步请求,成功后返回200和订单ID表明订单生成,后续可以通过查询集群列表查看集群创建进度。 response.result结果为:{order_id:u'your order id'}
创建带有专用master节点的集群
如下代码创建的集群包含:1个es_node节点、1个kibana节点和3个专用master节点(注意:只有新套餐集群支持创建专用master节点)。
def create_cluster_example(self):
"""
创建集群
"""
# 创建集群的名称
# 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
name = 'your cluster name'
# 创建集群的密码
# 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
password = 'your cluster password'
# 设置专用master节点磁盘信息
# size表示磁盘大小,单位是G
# 专用master节点的磁盘类型需设置为premium_ssd,固定不变
# 专用master节点的磁盘大小需设置为20G,固定不变
dedicated_master_disk_slot_info = DiskSlotInfo(type='premium_ssd', size=20)
# 设置节点磁盘信息(非专用master节点)
# type表示磁盘类型(见代码下方说明)
# size表示磁盘大小,单位是G
disk_slot_info = DiskSlotInfo(type='premium_ssd', size=50)
# 设置节点类型信息
# type表示节点的类型;es_node表示es节点、kibana表示kibana节点、es_dedicated_master表示专用master节点
# instance_num表示节点的数量(专用master节点的数量只能设置为3或者5)
# slot_type表示资源配置类型(新旧套餐、专用master节点的资源配置类型,详见代码下方说明)
# disk_slot_info表示磁盘信息
modules = [Module(type='es_node', instance_num=1, slot_type='bes.g3.c2m8', disk_slot_info=disk_slot_info),
Module(type='kibana', instance_num=1, slot_type='bes.c3.c1m2'),
Module(type='es_dedicated_master', instance_num=3, slot_type='bes.g3.c2m8',
disk_slot_info=dedicated_master_disk_slot_info)]
# 创建集群的版本,sdk支持的版本是'7.4.2'(低于该版本的es集群不支持新套餐)
# 只有新套餐集群支持专用master节点的创建
version = '7.4.2'
# 设置是否为新套餐集群,True表示老套餐、False表示新套餐
is_old_package = False
# 设置创建集群时用的可用区(见代码下方说明)
available_zone = 'available_zone'
# 设置安全组ID(见代码下方说明)
security_group_id = 'security_group_id'
# 设置子网ID(见代码下方说明)
subnet_uuid = 'subnet_uuid'
# 设置创建集群时用的VPC(见代码下方说明)
vpc_id = 'vpc_id'
# 创建集群计费信息
# payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
# time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
billing = Billing(payment_type='postpay', time=0)
response = client.create_cluster(name=name,
password=password,
modules=modules,
version=version,
is_old_package=is_old_package,
available_zone=available_zone,
security_group_id=security_group_id,
subnet_uuid=subnet_uuid,
vpc_id=vpc_id,
billing=billing)
assertEqual(type(response), baidubce.bce_response.BceResponse)
# 输出响应
print(response)
if response.success:
# 执行成功
print(response.status) # http响应码
print(response.result) # 返回结果
else:
# 执行失败
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
详见上一小节,创建集群(新套餐)
专用master节点资源配置类型设置,请参考节点配置类型按需创建
返回结果说明
详见上一小节,创建集群(新套餐)
集群扩容
支持对BES集群扩容操作(Kibana节点不支持扩容),具体可参考以下代码。
def resize_cluster_example(self):
# 指定集群的名称
name = 'your cluster name'
# 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
payment_type = 'postpay'
# 指定集群id
cluster_id = 'your cluster id'
# 集群版本
version = '7.4.2'
# 扩容信息
# 设置实例类型type='es_node' 节点配置类型 slot_type = 'calculate_v1',扩容节点数量 desire_instance_num=2
modules_resize = [
Module(type='es_node', slot_type='calculate_v1', version=version, desire_instance_num=2)]
# 区域
region = 'bj'
response = client.resize_cluster(name=name,
payment_type=payment_type,
cluster_id=cluster_id,
region=region,
modules=modules_resize)
assertEqual(type(response), baidubce.bce_response.BceResponse)
if response.success:
print(response.status) # http响应码
print(response.result) # 返回结果
else:
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | str | 是 | 集群名称 |
payment_type | str | 是 | 计费方式;postpay表示后付费、prepay表示预付费 |
cluster_id | str | 是 | 集群ID |
region | str | 是 | 地域 |
modules | Module数组 | 是 | 节点扩容信息 |
Module
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
desire_instance_num | int | 是 | 节点数量 |
slot_type | str | 是 | 资源配置类型 |
type | str | 是 | 节点的类型;es_node表示es节点、kibana表示kibana节点 |
version | str | 是 | 集群版本 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
同上
- 扩容BES请求是一个异步请求,成功后返回200和订单ID表明扩容订单生成。 response.result结果为:{order_id:u'your order id'}
集群升配
支持对BES集群升配操作,具体可参考以下代码。
说明: 只有新套餐支持升配操作;ES节点、Kibana节点不能同时升配;节点配置类型和磁盘大小不能同时升配; 同一个集群一次升配操作完成后,才能进行下一次升配操作。
# 例子:升级ES节点配置类型
def upgrade_es_slot_type_example(self):
# 指定集群的名称
name = 'your cluster name'
# 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
payment_type = 'postpay'
# 指定集群id
cluster_id = 'your cluster id'
# 集群版本
version = '7.4.2'
# 升配信息
# 实例类型type='es_node'
# 目标节点配置类型(高于当前操作集群配置类型) slot_type = 'bes.g3.c4m16'
# 节点数量(与当前操作集群保持一致) desire_instance_num=2
modules_upgrade_es = [
Module(type='es_node', slot_type='bes.g3.c4m16', version=version, desire_instance_num=2)]
# 区域
region = 'bj'
response = client.resize_cluster(name=name,
payment_type=payment_type,
cluster_id=cluster_id,
region=region,
modules=modules_upgrade_es)
assertEqual(type(response), baidubce.bce_response.BceResponse)
if response.success:
print(response.status) # http响应码
print(response.result) # 返回结果
else:
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | str | 是 | 集群名称 |
payment_type | str | 是 | 计费方式;postpay表示后付费、prepay表示预付费 |
cluster_id | str | 是 | 集群ID |
region | str | 是 | 地域 |
modules | Module数组 | 是 | 节点升配信息 |
Module
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
desire_instance_num | int | 是 | 节点数量 |
slot_type | str | 是 | 目标节点配置类型 |
type | str | 是 | 节点的类型;es_node表示es节点、kibana表示kibana节点 |
version | str | 是 | 集群版本 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
同上
- BES升配请求是一个异步请求,成功后返回200和订单ID表明升配订单生成。 response.result结果为:{order_id:u'your order id'}
# 例子:升级ES磁盘容量
def upgrade_es_disk_size_example(self):
# 指定集群的名称
name = 'your cluster name'
# 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
payment_type = 'postpay'
# 指定集群id
cluster_id = 'your cluster id'
# 集群版本
version = '7.4.2'
# 升配信息
# 磁盘类型type(升配不能修改磁盘类型,与当前操作集群保持一致)
# 目标磁盘大小size(大于当前操作集群的磁盘大小配置)
# 由于磁盘扩容技术升级,对于2021年3月19日0点之后创建的集群,支持磁盘在线热扩容,之前的集群暂不支持磁盘扩容。
upgrade_disk_slot_Info = DiskSlotInfo( type="ssd", size=51 )
# 实例类型type='es_node'
# 节点配置类型(与当前操作集群保持一致)slot_type = 'bes.g3.c4m16'
# 节点数量(与当前操作集群保持一致)desire_instance_num=2,
modules_upgrade_es = [
Module(type='es_node', slot_type='bes.g3.c4m16', version=version,
desire_instance_num=2, disk_slot_info=upgrade_disk_slot_Info)]
# 区域
region = 'bj'
response = client.resize_cluster(name=name,
payment_type=payment_type,
cluster_id=cluster_id,
region=region,
modules=modules_upgrade_es)
assertEqual(type(response), baidubce.bce_response.BceResponse)
if response.success:
print(response.status) # http响应码
print(response.result) # 返回结果
else:
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | str | 是 | 集群名称 |
payment_type | str | 是 | 计费方式;postpay表示后付费、prepay表示预付费 |
cluster_id | str | 是 | 集群ID |
region | str | 是 | 地域 |
modules | Module数组 | 是 | 节点升配信息 |
Module
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
desire_instance_num | int | 是 | 节点数量 |
slot_type | str | 是 | 资源配置类型 |
type | str | 是 | 节点的类型;es_node表示es节点、kibana表示kibana节点 |
version | str | 是 | 集群版本 |
disk_slot_info | DiskSlotInfo | 磁盘信息 |
DiskSlotInfo
名称 | 类型 | 参数描述 |
---|---|---|
type | str | 磁盘类型;ssd表示高效云盘、premium_ssd表示ssd云盘 |
size | int | 磁盘大小,单位G |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
同上
- BES升配请求是一个异步请求,成功后返回200和订单ID表明升配订单生成。 response.result结果为:{order_id:u'your order id'}
查询集群列表
如下代码可以罗列出属于请求调用者的所有集群。
def get_cluster_list_example(self):
response = client.get_cluster_list(page_no=1, page_size=100)
assertEqual(type(response), baidubce.bce_response.BceResponse)
page = response.page
if page is None:
return
for cluster in (page.result or []):
print(cluster.cluster_id)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
page_no | int | 是 | 页数 |
page_size | int | 是 | 页大小 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
page | ListPageResponse | 集群信息列表 |
ListPageResponse
名称 | 类型 | 参数描述 |
---|---|---|
page_no | int | 页数 |
page_size | int | 页大小 |
total_count | int | 集群个数 |
result | ClusterSummaryInfo数组 | 集群信息 |
ClusterSummaryInfo
名称 | 类型 | 参数描述 |
---|---|---|
cluster_id | str | 集群Id |
cluster_name | str | 集群名称 |
create_time | str | 创建时间 |
actual_status | str | 实际状态 |
running_time | str | 运行时长 |
billing | BesClusterBillingResponse | 集群计费信息 |
actual_status取值说明:
取值 | 说明 |
---|---|
Initializing | 正在创建 |
Deleting | 删除中 |
Stopping | 正在停止 |
Running | 运行中 |
Starting | 正在启动 |
Stopped | 已停止 |
Deleted | 删除中 |
Unknown | 异常状态 |
BesClusterBillingResponse
名称 | 类型 | 参数描述 |
---|---|---|
payment_type | str | 支付方式 |
查询集群详情
使用以下代码可以查询指定BES集群的详细信息。
def get_cluster_detail_example(self):
cluster_id = 'your cluster id'
response = client.get_cluster_detail(cluster_id=cluster_id)
assertEqual(type(response), baidubce.bce_response.BceResponse)
print(response)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群Id |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | ClusterDetail | 集群详细信息 |
ClusterDetail
名称 | 类型 | 参数描述 |
---|---|---|
cluster_id | str | 集群Id |
cluster_name | str | 集群名称 |
admin_username | str | 管理员名称 |
desire_status | str | 设备状态 |
status | str | 实际状态 |
es_url | str | ES服务器访问路径 |
kibana_url | str | Kibana服务器访问路径 |
es_eip | str | ES公网访问IP |
kibana_eip | str | Kibana公网访问IP |
modules | ModuleInfoResponse 数组 | 节点信息列表 |
instances | InstanceInfoResponse 数组 | 节点实例列表 |
expire_time | str | 终止时间 |
region | str | 所属地区 |
vpc | str | 虚拟网卡 |
subnet | str | 子网 |
available_zone | str | 可用区 |
security_group | str | 安全组 |
billing | BesClusterBillingResponse | 集群计费信息 |
ClusterDetail.status 取值同 ClusterSummaryInfo.actual_status;
ModuleInfoResponse
名称 | 类型 | 参数描述 |
---|---|---|
type | str | type表示节点的类型;es_node表示es节点、kibana表示kibana节点 |
version | str | 集群版本 |
slot_type | str | 资源配置类型 |
slot_description | str | 资源配置类型描述 |
actual_instance_num | int | 实例数量 |
InstanceInfoResponse
名称 | 类型 | 参数描述 |
---|---|---|
instance_id | str | 节点实例Id |
status | str | 节点实例状态 |
module_type | str | 表示节点的类型;es_node表示es节点、kibana表示kibana节点 |
module_version | str | 节点实例所属集群版本 |
host_ip | str | 主机Ip |
InstanceInfoResponse.status 取值同 ClusterSummaryInfo.actual_status;
停止集群
使用以下代码可以停止集群。
def stop_cluster_example(self):
cluster_id = 'your cluster id'
response = client.stop_cluster(cluster_id=cluster_id)
if response.success:
# 执行成功
print(response.status) # http响应码
else:
# 执行失败
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群Id |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | str | 常量字符串 |
启动集群
使用以下代码可以启动集群。
def start_cluster_example(self):
cluster_id = 'your cluster id'
response = client.start_cluster(cluster_id=cluster_id)
if response.success:
# 执行成功
print(response.status) # http响应码
else:
# 执行失败
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群Id |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | str | 常量字符串 |
删除集群
使用以下代码可以删除一个ES集群。
def delete_cluster_example(self):
cluster_id = 'your cluster id'
response = client.delete_cluster(cluster_id=cluster_id)
if response.success:
# 执行成功
print(response.status) # http响应码
else:
# 执行失败
print(
response.status, # http响应码
response.code, # 错误码
response.error.message # 报错信息
)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群Id |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | str | 常量字符串 |
续费列表
使用以下代码查询续费列表。
def get_renew_list_example(self):
# 页数
page_no=1
# 页大小
page_size=2
# 排序规则:desc降序、asc升序
order='desc'
# 排序字段
order_by='expireTime'
# 多少天内过期(与当前时间比较)
days_to_expiration=70
response = client.get_renew_list(page_no=1,
page_size=2,
order='desc',
order_by='expireTime',
days_to_expiration=70)
assertEqual(type(response), baidubce.bce_response.BceResponse)
print(response)
page = response.page
if page is None:
return
for cluster in (page.result or []):
print('cluster.cluster_id:' + cluster.cluster_id)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
order | str | 是 | 排序规则 |
order_by | str | 是 | 排序字段 |
page_no | int | 是 | 页数 |
page_size | int | 是 | 页大小 |
days_to_expiration | int | 是 | 与当前时间比较,还有多少天过期,-1为不限制 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
page | BesRenewListResponse | 集群列表 |
BesRenewListResponse
名称 | 类型 | 参数描述 |
---|---|---|
cluster_id | str | 集群ID |
cluster_name | str | 集群名称 |
region | str | 区域 |
expired_time | str | 到期时间 |
cluster_status | str | 集群状态 |
BesRenewListResponse.cluster_status 取值同 ClusterSummaryInfo.actual_status;
续费操作
使用以下代码进行续费操作。
def renew_cluster_example(self):
cluster_id = 'your cluster id'
# 续费时长,单位:月
time = 1
response = client.renew_cluster(cluster_id=cluster_id, time=time)
print(response)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群ID |
time | int | 是 | 续费时长,单位:月 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
名称 | 类型 | 参数描述 |
---|---|---|
order_id | str | 订单ID |
创建自动续费规则
使用以下代码创建自动续费规则。
def create_auto_renew_rule_example(self):
cluster_id = 'cluster_id'
cluster_ids = [cluster_id]
user_id = 'user_id'
renew_time_unit = 'month'
renew_time = 2
region = 'bj'
response = client.create_auto_renew_rule(cluster_ids=cluster_ids, user_id=user_id, region=region,
renew_time_unit=renew_time_unit, renew_time=renew_time)
assertEqual(type(response), baidubce.bce_response.BceResponse)
print(response)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_ids | str数组 | 是 | 集群ID数组 |
user_id | str | 是 | 用户ID |
region | str | 是 | 区域;详见BesClient说明页 |
renew_time_unit | str | 是 | 续费时间单位 支持month,year |
renew_time | int | 是 | 续费时长 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | str | 常量字符串 |
更新自动续费规则
使用以下代码更新自动续费规则。
def update_auto_renew_rule_example(self):
cluster_id = 'cluster_id'
renew_time_unit = 'month'
renew_time = 3
response = client.update_auto_renew_rule(cluster_id=cluster_id,
renew_time_unit=renew_time_unit,
renew_time=renew_time)
assertEqual(type(response), baidubce.bce_response.BceResponse)
print(response)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群ID |
renew_time_unit | str | 是 | 续费时间单位 支持month,year |
renew_time | int | 是 | 续费时长 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | str | 常量字符串 |
删除自动续费规则
使用以下代码删除自动续费规则。
def delete_auto_renew_rule_example(self):
cluster_id = 'cluster_id'
response = client.delete_auto_renew_rule(cluster_id=cluster_id)
assertEqual(type(response), baidubce.bce_response.BceResponse)
print(response)
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
cluster_id | str | 是 | 集群ID |
renew_time_unit | str | 是 | 续费时间单位 支持month,year |
renew_time | int | 是 | 续费时长 |
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
result | str | 常量字符串 |
查看自动续费规则列表
使用以下代码查询自动续费规则列表。
def get_auto_renew_rule_list_example(self):
response = client.get_auto_renew_rule_list()
assertEqual(type(response), baidubce.bce_response.BceResponse)
print(response)
请求参数说明
使用创建client的Ak、SK对应的账户进行查询,不需要显示传递参数
返回结果说明
response
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | BesAotuRenewListResponse数组 | 续费信息列表 |
BesAotuRenewListResponse
名称 | 类型 | 参数描述 |
---|---|---|
uuid | str | 续费规则的ID |
user_id | str | 用户ID |
cluster_id | str | 集群信息 |
region | str | 区域 |
renew_time_unit | str | 续费时间单位 支持month,year |
renew_time | int | 续费时长 |
create_time | str | 创建时间 |
update_time | str | 修改时间 |