集群
创建集群(老套餐)
如下代码可以新建一个老套餐集群(不支持计算资源和存储资源分离),集群包含1个es_node节点和1个kibana节点。
1def create_cluster_example(self):
2 """
3 创建集群
4 """
5 # 创建集群的名称
6 # 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
7 name = 'your cluster name'
8
9 # 创建集群的密码
10 # 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
11 password = 'your cluster password'
12
13 # 设置节点类型信息
14 # type表示节点的类型;es_node表示es节点、kibana表示kibana节点
15 # instance_num表示节点的数量
16 # slot_type表示资源配置类型(新旧套餐的资源配置类型,详见代码下方说明)
17 slot_type = 'calculate_v1'
18 modules = [Module(type='es_node', instance_num=1, slot_type=slot_type),
19 Module(type='kibana', instance_num=1, slot_type=slot_type)]
20
21 # 创建集群的版本,sdk支持的版本是'7.4.2'、'6.5.3'、'5.5.0',其中创建'6.5.3'、'5.5.0'版本需要提工单进行开通
22 version = '7.4.2'
23
24 # 设置是否为新套餐集群,True表示老套餐、False表示新套餐
25 is_old_package = True
26
27 # 设置创建集群时用的可用区(见代码下方说明)
28 available_zone = 'available_zone'
29
30 # 设置安全组ID(见代码下方说明)
31 security_group_id = 'security_group_id'
32
33 # 设置子网ID(见代码下方说明)
34 subnet_uuid = 'subnet_uuid'
35
36 # 设置创建集群时用的VPC(见代码下方说明)
37 vpc_id = 'vpc_id'
38
39 # 创建集群计费信息
40 # payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
41 # time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
42 billing = Billing(payment_type='postpay', time=0)
43
44 response = client.create_cluster(name=name,
45 password=password,
46 modules=modules,
47 version=version,
48 is_old_package=is_old_package,
49 available_zone=available_zone,
50 security_group_id=security_group_id,
51 subnet_uuid=subnet_uuid,
52 vpc_id=vpc_id,
53 billing=billing)
54 assertEqual(type(response), baidubce.bce_response.BceResponse)
55
56 # 输出响应
57 print(response)
58 if response.success:
59 # 执行成功
60 print(response.status) # http响应码
61 print(response.result) # 返回结果
62 else:
63 # 执行失败
64 print(
65 response.status, # http响应码
66 response.code, # 错误码
67 response.error.message # 报错信息
68 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| 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节点。
1def create_cluster_example(self):
2 """
3 创建集群
4 """
5 # 创建集群的名称
6 # 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
7 name = 'your cluster name'
8
9 # 创建集群的密码
10 # 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
11 password = 'your cluster password'
12
13 # 设置节点磁盘信息
14 # type表示磁盘类型(见代码下方说明)
15 # size表示磁盘大小,单位是G
16 disk_slot_info = DiskSlotInfo(type='premium_ssd', size=50)
17
18 # 设置节点类型信息
19 # type表示节点的类型;es_node表示es节点、kibana表示kibana节点
20 # instance_num表示节点的数量
21 # slot_type表示资源配置类型(新旧套餐的资源配置类型,详见代码下方说明)
22 # disk_slot_info表示磁盘信息
23 modules = [Module(type='es_node', instance_num=1, slot_type='bes.g3.c2m8', disk_slot_info=disk_slot_info),
24 Module(type='kibana', instance_num=1, slot_type='bes.c3.c1m2')]
25
26 # 创建集群的版本,sdk支持的版本是'7.4.2'(低于该版本的es集群不支持新套餐)
27 version = '7.4.2'
28
29 # 设置是否为新套餐集群,True表示老套餐、False表示新套餐
30 is_old_package = False
31
32 # 设置创建集群时用的可用区(见代码下方说明)
33 available_zone = 'available_zone'
34
35 # 设置安全组ID(见代码下方说明)
36 security_group_id = 'security_group_id'
37
38 # 设置子网ID(见代码下方说明)
39 subnet_uuid = 'subnet_uuid'
40
41 # 设置创建集群时用的VPC(见代码下方说明)
42 vpc_id = 'vpc_id'
43
44 # 创建集群计费信息
45 # payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
46 # time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
47 billing = Billing(payment_type='postpay', time=0)
48
49 response = client.create_cluster(name=name,
50 password=password,
51 modules=modules,
52 version=version,
53 is_old_package=is_old_package,
54 available_zone=available_zone,
55 security_group_id=security_group_id,
56 subnet_uuid=subnet_uuid,
57 vpc_id=vpc_id,
58 billing=billing)
59 assertEqual(type(response), baidubce.bce_response.BceResponse)
60
61 # 输出响应
62 print(response)
63 if response.success:
64 # 执行成功
65 print(response.status) # http响应码
66 print(response.result) # 返回结果
67 else:
68 # 执行失败
69 print(
70 response.status, # http响应码
71 response.code, # 错误码
72 response.error.message # 报错信息
73 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| 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节点)。
1def create_cluster_example(self):
2 """
3 创建集群
4 """
5 # 创建集群的名称
6 # 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
7 name = 'your cluster name'
8
9 # 创建集群的密码
10 # 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
11 password = 'your cluster password'
12
13 # 设置专用master节点磁盘信息
14 # size表示磁盘大小,单位是G
15 # 专用master节点的磁盘类型需设置为premium_ssd,固定不变
16 # 专用master节点的磁盘大小需设置为20G,固定不变
17 dedicated_master_disk_slot_info = DiskSlotInfo(type='premium_ssd', size=20)
18
19 # 设置节点磁盘信息(非专用master节点)
20 # type表示磁盘类型(见代码下方说明)
21 # size表示磁盘大小,单位是G
22 disk_slot_info = DiskSlotInfo(type='premium_ssd', size=50)
23
24 # 设置节点类型信息
25 # type表示节点的类型;es_node表示es节点、kibana表示kibana节点、es_dedicated_master表示专用master节点
26 # instance_num表示节点的数量(专用master节点的数量只能设置为3或者5)
27 # slot_type表示资源配置类型(新旧套餐、专用master节点的资源配置类型,详见代码下方说明)
28 # disk_slot_info表示磁盘信息
29 modules = [Module(type='es_node', instance_num=1, slot_type='bes.g3.c2m8', disk_slot_info=disk_slot_info),
30 Module(type='kibana', instance_num=1, slot_type='bes.c3.c1m2'),
31 Module(type='es_dedicated_master', instance_num=3, slot_type='bes.g3.c2m8',
32 disk_slot_info=dedicated_master_disk_slot_info)]
33
34 # 创建集群的版本,sdk支持的版本是'7.4.2'(低于该版本的es集群不支持新套餐)
35 # 只有新套餐集群支持专用master节点的创建
36 version = '7.4.2'
37
38 # 设置是否为新套餐集群,True表示老套餐、False表示新套餐
39 is_old_package = False
40
41 # 设置创建集群时用的可用区(见代码下方说明)
42 available_zone = 'available_zone'
43
44 # 设置安全组ID(见代码下方说明)
45 security_group_id = 'security_group_id'
46
47 # 设置子网ID(见代码下方说明)
48 subnet_uuid = 'subnet_uuid'
49
50 # 设置创建集群时用的VPC(见代码下方说明)
51 vpc_id = 'vpc_id'
52
53 # 创建集群计费信息
54 # payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
55 # time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
56 billing = Billing(payment_type='postpay', time=0)
57
58 response = client.create_cluster(name=name,
59 password=password,
60 modules=modules,
61 version=version,
62 is_old_package=is_old_package,
63 available_zone=available_zone,
64 security_group_id=security_group_id,
65 subnet_uuid=subnet_uuid,
66 vpc_id=vpc_id,
67 billing=billing)
68 assertEqual(type(response), baidubce.bce_response.BceResponse)
69
70 # 输出响应
71 print(response)
72 if response.success:
73 # 执行成功
74 print(response.status) # http响应码
75 print(response.result) # 返回结果
76 else:
77 # 执行失败
78 print(
79 response.status, # http响应码
80 response.code, # 错误码
81 response.error.message # 报错信息
82 )
请求参数说明
详见上一小节,创建集群(新套餐)
专用master节点资源配置类型设置,请参考节点配置类型按需创建
返回结果说明
详见上一小节,创建集群(新套餐)
集群扩容
支持对BES集群扩容操作(Kibana节点不支持扩容),具体可参考以下代码。
1def resize_cluster_example(self):
2
3 # 指定集群的名称
4 name = 'your cluster name'
5
6 # 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
7 payment_type = 'postpay'
8
9 # 指定集群id
10 cluster_id = 'your cluster id'
11
12 # 集群版本
13 version = '7.4.2'
14
15 # 扩容信息
16 # 设置实例类型type='es_node' 节点配置类型 slot_type = 'calculate_v1',扩容节点数量 desire_instance_num=2
17 modules_resize = [
18 Module(type='es_node', slot_type='calculate_v1', version=version, desire_instance_num=2)]
19
20 # 区域
21 region = 'bj'
22 response = client.resize_cluster(name=name,
23 payment_type=payment_type,
24 cluster_id=cluster_id,
25 region=region,
26 modules=modules_resize)
27 assertEqual(type(response), baidubce.bce_response.BceResponse)
28 if response.success:
29 print(response.status) # http响应码
30 print(response.result) # 返回结果
31 else:
32 print(
33 response.status, # http响应码
34 response.code, # 错误码
35 response.error.message # 报错信息
36 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| 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节点不能同时升配;节点配置类型和磁盘大小不能同时升配; 同一个集群一次升配操作完成后,才能进行下一次升配操作。
1# 例子:升级ES节点配置类型
2def upgrade_es_slot_type_example(self):
3
4 # 指定集群的名称
5 name = 'your cluster name'
6
7 # 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
8 payment_type = 'postpay'
9
10 # 指定集群id
11 cluster_id = 'your cluster id'
12
13 # 集群版本
14 version = '7.4.2'
15
16 # 升配信息
17 # 实例类型type='es_node'
18 # 目标节点配置类型(高于当前操作集群配置类型) slot_type = 'bes.g3.c4m16'
19 # 节点数量(与当前操作集群保持一致) desire_instance_num=2
20 modules_upgrade_es = [
21 Module(type='es_node', slot_type='bes.g3.c4m16', version=version, desire_instance_num=2)]
22
23 # 区域
24 region = 'bj'
25 response = client.resize_cluster(name=name,
26 payment_type=payment_type,
27 cluster_id=cluster_id,
28 region=region,
29 modules=modules_upgrade_es)
30 assertEqual(type(response), baidubce.bce_response.BceResponse)
31 if response.success:
32 print(response.status) # http响应码
33 print(response.result) # 返回结果
34 else:
35 print(
36 response.status, # http响应码
37 response.code, # 错误码
38 response.error.message # 报错信息
39 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| 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'}
1# 例子:升级ES磁盘容量
2def upgrade_es_disk_size_example(self):
3
4 # 指定集群的名称
5 name = 'your cluster name'
6
7 # 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
8 payment_type = 'postpay'
9
10 # 指定集群id
11 cluster_id = 'your cluster id'
12
13 # 集群版本
14 version = '7.4.2'
15
16 # 升配信息
17 # 磁盘类型type(升配不能修改磁盘类型,与当前操作集群保持一致)
18 # 目标磁盘大小size(大于当前操作集群的磁盘大小配置)
19 # 由于磁盘扩容技术升级,对于2021年3月19日0点之后创建的集群,支持磁盘在线热扩容,之前的集群暂不支持磁盘扩容。
20 upgrade_disk_slot_Info = DiskSlotInfo( type="ssd", size=51 )
21
22 # 实例类型type='es_node'
23 # 节点配置类型(与当前操作集群保持一致)slot_type = 'bes.g3.c4m16'
24 # 节点数量(与当前操作集群保持一致)desire_instance_num=2,
25 modules_upgrade_es = [
26 Module(type='es_node', slot_type='bes.g3.c4m16', version=version,
27 desire_instance_num=2, disk_slot_info=upgrade_disk_slot_Info)]
28
29 # 区域
30 region = 'bj'
31 response = client.resize_cluster(name=name,
32 payment_type=payment_type,
33 cluster_id=cluster_id,
34 region=region,
35 modules=modules_upgrade_es)
36 assertEqual(type(response), baidubce.bce_response.BceResponse)
37 if response.success:
38 print(response.status) # http响应码
39 print(response.result) # 返回结果
40 else:
41 print(
42 response.status, # http响应码
43 response.code, # 错误码
44 response.error.message # 报错信息
45 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| 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'}
查询集群列表
如下代码可以罗列出属于请求调用者的所有集群。
1def get_cluster_list_example(self):
2 response = client.get_cluster_list(page_no=1, page_size=100)
3 assertEqual(type(response), baidubce.bce_response.BceResponse)
4 page = response.page
5 if page is None:
6 return
7 for cluster in (page.result or []):
8 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集群的详细信息。
1def get_cluster_detail_example(self):
2 cluster_id = 'your cluster id'
3 response = client.get_cluster_detail(cluster_id=cluster_id)
4 assertEqual(type(response), baidubce.bce_response.BceResponse)
5 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;
停止集群
使用以下代码可以停止集群。
1def stop_cluster_example(self):
2 cluster_id = 'your cluster id'
3 response = client.stop_cluster(cluster_id=cluster_id)
4 if response.success:
5 # 执行成功
6 print(response.status) # http响应码
7 else:
8 # 执行失败
9 print(
10 response.status, # http响应码
11 response.code, # 错误码
12 response.error.message # 报错信息
13 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| cluster_id | str | 是 | 集群Id |
返回结果说明
response
| 名称 | 类型 | 参数描述 |
|---|---|---|
| success | bool | 操作是否成功 |
| status | int | 状态码 |
| result | str | 常量字符串 |
启动集群
使用以下代码可以启动集群。
1def start_cluster_example(self):
2 cluster_id = 'your cluster id'
3 response = client.start_cluster(cluster_id=cluster_id)
4 if response.success:
5 # 执行成功
6 print(response.status) # http响应码
7 else:
8 # 执行失败
9 print(
10 response.status, # http响应码
11 response.code, # 错误码
12 response.error.message # 报错信息
13 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| cluster_id | str | 是 | 集群Id |
返回结果说明
response
| 名称 | 类型 | 参数描述 |
|---|---|---|
| success | bool | 操作是否成功 |
| status | int | 状态码 |
| result | str | 常量字符串 |
删除集群
使用以下代码可以删除一个ES集群。
1def delete_cluster_example(self):
2 cluster_id = 'your cluster id'
3 response = client.delete_cluster(cluster_id=cluster_id)
4 if response.success:
5 # 执行成功
6 print(response.status) # http响应码
7 else:
8 # 执行失败
9 print(
10 response.status, # http响应码
11 response.code, # 错误码
12 response.error.message # 报错信息
13 )
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| cluster_id | str | 是 | 集群Id |
返回结果说明
response
| 名称 | 类型 | 参数描述 |
|---|---|---|
| success | bool | 操作是否成功 |
| status | int | 状态码 |
| result | str | 常量字符串 |
续费列表
使用以下代码查询续费列表。
1def get_renew_list_example(self):
2 # 页数
3 page_no=1
4 # 页大小
5 page_size=2
6 # 排序规则:desc降序、asc升序
7 order='desc'
8 # 排序字段
9 order_by='expireTime'
10 # 多少天内过期(与当前时间比较)
11 days_to_expiration=70
12
13 response = client.get_renew_list(page_no=1,
14 page_size=2,
15 order='desc',
16 order_by='expireTime',
17 days_to_expiration=70)
18 assertEqual(type(response), baidubce.bce_response.BceResponse)
19 print(response)
20 page = response.page
21 if page is None:
22 return
23 for cluster in (page.result or []):
24 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;
续费操作
使用以下代码进行续费操作。
1def renew_cluster_example(self):
2 cluster_id = 'your cluster id'
3 # 续费时长,单位:月
4 time = 1
5 response = client.renew_cluster(cluster_id=cluster_id, time=time)
6 print(response)
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| cluster_id | str | 是 | 集群ID |
| time | int | 是 | 续费时长,单位:月 |
返回结果说明
response
| 名称 | 类型 | 参数描述 |
|---|---|---|
| success | bool | 操作是否成功 |
| status | int | 状态码 |
| result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
| 名称 | 类型 | 参数描述 |
|---|---|---|
| order_id | str | 订单ID |
创建自动续费规则
使用以下代码创建自动续费规则。
1def create_auto_renew_rule_example(self):
2 cluster_id = 'cluster_id'
3 cluster_ids = [cluster_id]
4 user_id = 'user_id'
5 renew_time_unit = 'month'
6 renew_time = 2
7 region = 'bj'
8 response = client.create_auto_renew_rule(cluster_ids=cluster_ids, user_id=user_id, region=region,
9 renew_time_unit=renew_time_unit, renew_time=renew_time)
10 assertEqual(type(response), baidubce.bce_response.BceResponse)
11 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 | 常量字符串 |
更新自动续费规则
使用以下代码更新自动续费规则。
1def update_auto_renew_rule_example(self):
2 cluster_id = 'cluster_id'
3 renew_time_unit = 'month'
4 renew_time = 3
5 response = client.update_auto_renew_rule(cluster_id=cluster_id,
6 renew_time_unit=renew_time_unit,
7 renew_time=renew_time)
8 assertEqual(type(response), baidubce.bce_response.BceResponse)
9 print(response)
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| cluster_id | str | 是 | 集群ID |
| renew_time_unit | str | 是 | 续费时间单位 支持month,year |
| renew_time | int | 是 | 续费时长 |
返回结果说明
response
| 名称 | 类型 | 参数描述 |
|---|---|---|
| success | bool | 操作是否成功 |
| status | int | 状态码 |
| result | str | 常量字符串 |
删除自动续费规则
使用以下代码删除自动续费规则。
1def delete_auto_renew_rule_example(self):
2 cluster_id = 'cluster_id'
3 response = client.delete_auto_renew_rule(cluster_id=cluster_id)
4 assertEqual(type(response), baidubce.bce_response.BceResponse)
5 print(response)
请求参数说明
| 名称 | 类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| cluster_id | str | 是 | 集群ID |
| renew_time_unit | str | 是 | 续费时间单位 支持month,year |
| renew_time | int | 是 | 续费时长 |
返回结果说明
response
| 名称 | 类型 | 参数描述 |
|---|---|---|
| success | bool | 操作是否成功 |
| status | int | 状态码 |
| result | str | 常量字符串 |
查看自动续费规则列表
使用以下代码查询自动续费规则列表。
1def get_auto_renew_rule_list_example(self):
2 response = client.get_auto_renew_rule_list()
3 assertEqual(type(response), baidubce.bce_response.BceResponse)
4 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 | 修改时间 |
