华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 login_url String 云堡垒机 登录链接。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 order_id String 订单ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Token获取方法详见获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 server_id 是 String 云 堡垒机 实例ID,使用UUID格式表示。 实例ID获取方式。 new_resource_spec_code 否 String 待变更云堡垒机规格ID,例如: cbh.basic.50 cbh.enhance.50 已上线的规格请参见《云堡垒机产品介绍》的服务版本差异章节。 attach_disk_size 否 Integer 附加磁盘大小。单位TB 说明: 说明: 附加磁盘和规格自带磁盘大小不能超过300TB。 is_auto_pay 否 Integer 是否自动支付,下单订购后,是否自动从客户的云账户中支付,而不需要客户手动去进行支付。 1:是(会自动选择折扣和优惠券进行优惠,然后自动从客户云账户中支付),自动支付失败后会生成订单成功(该订单应付金额是优惠后金额)、但订单状态为“待支付”,等待客户手动支付(手动支付时,客户还可以修改系统自动选择的折扣和优惠券) 0:否(需要客户手动去支付,客户可以选择折扣和优惠券。) 默认值为“0”
  • 响应示例 状态码: 200 Cbh List Instance Success { "total" : 1, "instance" : [ { "name" : "CBH-e2b4", "server_id" : "760aeee4-9916-436a-8854-837a9ae94b2b", "instance_id" : 5473, "alter_permit" : false, "enterprise_project_id" : "0", "period_num" : "1,2", "start_time" : 1692245215000, "end_time" : 1694966399000, "created_time" : "2023-08-17 12:05:02.0", "update" : false, "bastion_version" : "3.3.49.0", "az_info" : { "region" : "cn-north-7", "zone" : "cn-north-7a", "availability_zone_display" : "可用区1", "slave_zone" : "cn-north-7b", "slave_zone_display" : "可用区2" }, "status_info" : { "status" : "ACTIVE", "task_status" : "NO_TASK", "create_instance_status" : "NO_TASK", "fail_reason" : "No FailReason Now", "instance_status" : "ok", "instance_description" : ",2023-08-21 15:19:07,{\"d_usage\":\"0.30\",\"m_usage\":\"43.66\",\"c_usage\":\"1.00\",\"session_count\":\"0\"" }, "resource_info" : { "specification" : "cbh.basic.5", "order_id" : " CS 2308171141G8C14", "resource_id" : "c7a07a7f-e5ee-49cf-8355-aee46c5a4fcf", "data_disk_size" : 200, "disk_resource_id" : [ ] }, "network" : { "vip" : "192.168.0.228", "web_port" : "443", "public_ip" : "100.xx.xx.1", "public_id" : "56220ed7-0f75-4d42-85c4-013d5414c81c", "private_ip" : "192.168.0.190", "vpc_id" : "03211ecf-697e-4306-a7a0-6e939bf948de", "subnet_id" : "dd08a6a9-ced7-484b-ace6-1b821854a772", "security_group_id" : "02dcf62d-b84d-4a14-aad3-c310f2ceea55" }, "ha_info" : { "ha_id" : "332", "instance_type" : "master" } } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 云堡垒机实例总数。 instance Array of InstanceDetail objects 云堡垒机实例列表信息。 表5 InstanceDetail 参数 参数类型 描述 name String 云堡垒机实例名称。 server_id String 云堡垒机服务器id。 instance_id String 云堡垒机实例id。 alter_permit Boolean 云堡垒机实例是否可以扩容。 true:是 false:否 enterprise_project_id String 项目ID。 period_num String 云堡垒机实例订购周期数。 start_time String 云堡垒机实例开始时间,使用时间戳格式表示。 end_time String 云堡垒机实例结束时间,使用时间戳格式表示。 created_time String 云堡垒机实例创建时间,使用UTC时间表示。 upgrade_time Long 云堡垒机实例升级定时时间,使用时间戳格式表示。 update String 云堡垒机实例是否可以升级。 OLD:当前已是最新版本 NEW:可以升级小版本 CROSS_OS:可以跨版本升级 ROLLBACK:可以回滚 枚举值: OLD NEW CROSS_OS ROLLBACK bastion_version String 云堡垒机实例当前版本。 az_info az_info object 可用区信息。 status_info status_info object 状态信息。 resource_info resource_info object 资源信息。 network network object 网络信息。 ha_info ha_info object 主备信息。 表6 az_info 参数 参数类型 描述 region String 云堡垒机实例所在可用区ID。 zone String 云堡垒机实例所在可用分区ID。(实例为主备模式时作为主机实例所在可用分区) availability_zone_display String 云堡垒机实例所在可用分区中文名称。(实例为主备模式时作为主机实例所在可用分区中文名称) slave_zone String 云堡垒机备机实例所在可用区。 slave_zone_display String 云堡垒机备机实例所在可用区中文名称。 表7 status_info 参数 参数类型 描述 status String 云堡垒机实例状态。 SHUTOFF:已关闭 ACTIVE:运行中 DELETING:删除中 BUILD:创建中 DELETED:已删除 ERROR:故障 HAWAIT:等待备机创建成功 FROZEN:已冻结 UPGRADING:升级中 UNPAID:待支付 RESIZE:规格变更中 DILATATION:扩容中 HA:配置HA中 task_status String 云堡垒机实例当前的任务状态。 powering-on:开启 powering-off:关闭 rebooting:重启 delete_wait:删除 frozen:冻结 NO_TASK:运行 unfrozen:解冻 alter:变更 updating:升级中 configuring-ha:配置HA data-migrating:数据迁移中 rollback:版本回滚中 traffic-switchover:流量切换中 create_instance_status String 云堡垒机实例在创建实例过程中的状态信息。 Waiting for payment:等待支付 creating-network:创建网络 creating-server:创建服务 tranfering-horizontal-network:网络打通 adding-policy-route:添加路由策略 configing-dns:配置DNS starting-cbs-service:服务运行中 setting-init-conf:初始化 buying-EIP:购买弹性公网IP instance_status String 云堡垒机实例状态。 building:创建中 deleting:删除中 deleted:删除了 unpaid:未支付 upgrading:升级中 resizing:扩容中 abnormal:异常 error:故障 ok:正常 instance_description String 云堡垒机实例信息描述。 fail_reason String 云堡垒机实例创建实例失败原因。 表8 resource_info 参数 参数类型 描述 specification String 云堡垒机实例规格。 order_id String 订单id。 resource_id String 云堡垒机实例的资源id,UUID格式显示。 data_disk_size Number 云堡垒机实例数据盘大小,单位TB。 disk_resource_id Array of strings 云堡垒机实例数据盘资源ID。 表9 network 参数 参数类型 描述 vip String 云堡垒机实例浮动ip。(实例为主备模式时返回对应的值) web_port String 云堡垒机实例WEB界面访问的端口号。 public_ip String 云堡垒机实例弹性公网IP。 public_id String 云堡垒机实例绑定公网的弹性IP的ID,UUID格式表示。 private_ip String 云堡垒机实例私有ip。 vpc_id String 云堡垒机实例所在虚拟私有云ID。 subnet_id String 云堡垒机实例所在子网ID。 security_group_id String 云堡垒机实例所属的安全组ID。 表10 ha_info 参数 参数类型 描述 ha_id String 主备ID。 instance_type String 实例类型。 master:主 slave:备 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • URI PUT /v2/{project_id}/cbs/instance/type 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法详见API参考,附录获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 server_id 是 String 实例id availability_zone 否 String 可用分区名称。 可参考地区和终端节点获取 is_auto_pay 否 Integer 是否自动支付,下单订购后,是否自动从客户的云账户中支付,而不需要客户手动去进行支付。 1:是(会自动选择折扣和优惠券进行优惠,然后自动从客户云账户中支付),自动支付失败后会生成订单成功(该订单应付金额是优惠后金额)、但订单状态为“待支付”,等待客户手动支付(手动支付时,客户还可以修改系统自动选择的折扣和优惠券) 0:否(需要客户手动去支付,客户可以选择折扣和优惠券。) 默认值为“0”
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 order_id String 订单ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Token获取方法详见获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 publicip_id 是 String 弹性公网IP的ID,使用UUID格式。
  • 响应示例 状态码: 200 List CBH ByTags Success { "resources" : [ { "resource_id" : "cdfs_cefs_wesas_12_dsad", "resource_name" : "resouece1", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "value" : "5aa119a8-xxxx-45a7-xxxx-88e12788xxxx" } ] } ], "total_count" : 1000 }
  • 请求示例 { "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ] } ] }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 resources Array of Resources objects 根据查询模式获取到的资源实例详情。 total_count Integer 总记录数。 表7 Resources 参数 参数类型 描述 resource_id String 实例ID。 resource_detail InstanceDetail object CBH实例详情 tags Array of ResourceTag objects tags。 sys_tags Array of ResourceTag objects sys_tags。 resource_name String 资源名称。 表8 InstanceDetail 参数 参数类型 描述 name String 云堡垒机实例名称。 server_id String 云堡垒机服务器id。 instance_id String 云堡垒机实例id。 alter_permit Boolean 云堡垒机实例是否可以扩容。 true:是 false:否 enterprise_project_id String 项目ID。 period_num String 云堡垒机实例订购周期数。 start_time String 云堡垒机实例开始时间,使用时间戳格式表示。 end_time String 云堡垒机实例结束时间,使用时间戳格式表示。 created_time String 云堡垒机实例创建时间,使用UTC时间表示。 upgrade_time Long 云堡垒机实例升级定时时间,使用时间戳格式表示。 update String 云堡垒机实例是否可以升级。 OLD:当前已是最新版本 NEW:可以升级小版本 CROSS_OS:可以跨版本升级 ROLLBACK:可以回滚 枚举值: OLD NEW CROSS_OS ROLLBACK bastion_version String 云堡垒机实例当前版本。 az_info az_info object 可用区信息。 status_info status_info object 状态信息。 resource_info resource_info object 资源信息。 network network object 网络信息。 ha_info ha_info object 主备信息。 表9 az_info 参数 参数类型 描述 region String 云堡垒机实例所在可用区ID。 zone String 云堡垒机实例所在可用分区ID。(实例为主备模式时作为主机实例所在可用分区) availability_zone_display String 云堡垒机实例所在可用分区中文名称。(实例为主备模式时作为主机实例所在可用分区中文名称) slave_zone String 云堡垒机备机实例所在可用区。 slave_zone_display String 云堡垒机备机实例所在可用区中文名称。 表10 status_info 参数 参数类型 描述 status String 云堡垒机实例状态。 SHUTOFF:已关闭 ACTIVE:运行中 DELETING:删除中 BUILD:创建中 DELETED:已删除 ERROR:故障 HAWAIT:等待备机创建成功 FROZEN:已冻结 UPGRADING:升级中 UNPAID:待支付 RESIZE:规格变更中 DILATATION:扩容中 HA:配置HA中 task_status String 云堡垒机实例当前的任务状态。 powering-on:开启 powering-off:关闭 rebooting:重启 delete_wait:删除 frozen:冻结 NO_TASK:运行 unfrozen:解冻 alter:变更 updating:升级中 configuring-ha:配置HA data-migrating:数据迁移中 rollback:版本回滚中 traffic-switchover:流量切换中 create_instance_status String 云堡垒机实例在创建实例过程中的状态信息。 Waiting for payment:等待支付 creating-network:创建网络 creating-server:创建服务 tranfering-horizontal-network:网络打通 adding-policy-route:添加路由策略 configing-dns:配置DNS starting-cbs-service:服务运行中 setting-init-conf:初始化 buying-EIP:购买弹性公网IP instance_status String 云堡垒机实例状态。 building:创建中 deleting:删除中 deleted:删除了 unpaid:未支付 upgrading:升级中 resizing:扩容中 abnormal:异常 error:故障 ok:正常 instance_description String 云堡垒机实例信息描述。 fail_reason String 云堡垒机实例创建实例失败原因。 表11 resource_info 参数 参数类型 描述 specification String 云堡垒机实例规格。 order_id String 订单id。 resource_id String 云堡垒机实例的资源id,UUID格式显示。 data_disk_size Number 云堡垒机实例数据盘大小,单位TB。 disk_resource_id Array of strings 云堡垒机实例数据盘资源ID。 表12 network 参数 参数类型 描述 vip String 云堡垒机实例浮动ip。(实例为主备模式时返回对应的值) web_port String 云堡垒机实例WEB界面访问的端口号。 public_ip String 云堡垒机实例弹性公网IP。 public_id String 云堡垒机实例绑定公网的弹性IP的ID,UUID格式表示。 private_ip String 云堡垒机实例私有ip。 vpc_id String 云堡垒机实例所在虚拟私有云ID。 subnet_id String 云堡垒机实例所在子网ID。 security_group_id String 云堡垒机实例所属的安全组ID。 表13 ha_info 参数 参数类型 描述 ha_id String 主备ID。 instance_type String 实例类型。 master:主 slave:备 表14 ResourceTag 参数 参数类型 描述 key String 键。最大长度128个字符。 key需要满足3.1 KEY字符集规范。 value String 值。每个值最大长度255个字符, value需要满足3.2 VALUE字符集规范。 状态码: 400 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表16 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Token获取方法详见获取用户Token。 limit 否 String 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。 offset 否 String 索引位置,偏移量(action为count时无此参数)从第一条数据偏移offset条数据后开始查询,如果action为filter默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 表3 请求Body参数 参数 是否必选 参数类型 描述 without_any_tag 否 Boolean 不包含任意一个标签,该字段为true时查询所有不带标签的资源。 此时忽略 “tags”、“tags_any”、“not_tags”、“not_tags_any”字段。 tags 否 Array of Tags objects 包含标签,最多包含50个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。 Key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系, key-value结构中value是或的关系。 无tag过滤条件时返回全量数据。 tags_any 否 Array of Tags objects 包含任意标签,最多包含50个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。 结果返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 not_tags 否 Array of Tags objects 不包含标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。 结果返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 not_tags_any 否 Array of Tags objects 不包含任意标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。 结果返回不包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 sys_tags 否 Array of Tags objects 仅op_service权限可以使用此字段做资源实例过滤条件。 目前TMS调用时只包含一个tag结构体。 key:_sys_enterprise_project_id value:企业项目id列表 目前TMS调用时,key下面只包含一个value。0表示默认企业项目 sys_tags和租户标签过滤条件(without_any_tag 、tags、tags_any、not_tags、not_tags_any)不能同时使用 无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据。。 matches 否 Array of Match objects 搜索字段,key为要匹配的字段,如resource_name等。 value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。 根据key的值确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配(多数服务不存在资源名称为空的情况,因此此类情况返回空列表)。 resource_id为精确匹配。第一期只做resource_name,后续再扩展。 表4 Tags 参数 是否必选 参数类型 描述 key 是 String 键。 说明: 说明: key不能为空,长度1~128个字符(中文也可以输入128个字符) 可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : = + - @ _sys_开头属于系统标签,租户不能输入 建议正则:^((?!sys)[\p{L}\p{Z}\p{N}_.:=+\-@]*)$ values 是 Array of strings 值列表。 说明: 说明: 长度0~255个字符(中文也可以输入255个字符) 可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : / = + - @ 建议正则:^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$ 资源标签值可以为空(empty or null) 预定义标签值不可以为空 表5 Match 参数 是否必选 参数类型 描述 key 是 String 键。第一期限定为resource_name,后续扩展。 value 是 String 值。每个值最大长度255个unicode字符 。不校验字符集范。。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 status_v6 String 支持IPv6云堡垒机实例规格资源状态。 sellout:售罄 normal:正常商用 status String 云堡垒机实例规格资源状态。 sellout:售罄 normal:正常商用 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • URI GET /v2/{project_id}/cbs/instance/ecs-quota 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法详见API参考,附录获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 availability_zone 是 String 可用分区名称。 可参考地区和终端节点获取 resource_spec_code 是 String 待创建云堡垒机规格ID,例如: cbh.basic.10 10资产标准版 cbh.enhance.10 10资产专业版 已上线的规格详情请参见《云堡垒机常见问题》的购买,云堡垒机实例有哪些规格章节。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 authorization AgencyAuthorizeInfo object 获取云堡垒机委托授权凭据管理、密钥管理服务权限列表返回对象。 表4 AgencyAuthorizeInfo 参数 参数类型 描述 csms Boolean 凭据管理权限信息。 kms Boolean 密钥管理权限信息。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Token获取方法详见获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 security_groups 是 Array of strings 安全组信息。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of Tags objects 标签列表。 表4 Tags 参数 参数类型 描述 key String 键。 说明: 说明: key不能为空,长度1~128个字符(中文也可以输入128个字符) 可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : = + - @ _sys_开头属于系统标签,租户不能输入 建议正则:^((?!sys)[\p{L}\p{Z}\p{N}_.:=+\-@]*)$ values Array of strings 值列表。 说明: 说明: 长度0~255个字符(中文也可以输入255个字符) 可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : / = + - @ 建议正则:^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$ 资源标签值可以为空(empty or null) 预定义标签值不可以为空 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 采样结果 如下图1和图2所示,对于某个逻辑场景进行拉丁超立方和蒙特卡洛采样,参数都是符合随机特性,但采样得到的值不相同。 对于同样的采样点数,拉丁超立方采样的结果会更加分散,并且边界值会更多。 图4 蒙特卡洛采样结果 图5 拉丁超立方采样结果 对于离散型参数,联合概率分布采样会根据给定的取值列表进行随机采样。 图6 离散型参数-联合概率分布采样结果 对于连续型参数,联合概率分布采样会根据参数分布和相关系数进行采样。 图7 连续型参数-联合概率分布采样结果 对于重要性采样,联合概率分布采样会在边界附近进行采样。 图8 重要性采样结果
  • 数据库连接 使用DDS时,可能会遇到因为Mongod/dds mongos的连接数满了,导致客户端无法连接的问题。在Mongod/dds mongos的服务端,收到一个新的连接由一个单独的线程来处理,每个线程配置了1MB的栈空间,当网络连接数太多时,过多的线程会导致上下文切换开销变大,同时内存开销也会上涨。 客户端连接数据库的时候,要计算业务一共有多少个客户端,每个客户端配置的连接池大小是多少,总的连接数不要超过当前实例能承受的最大连接数的80%。 客户端与数据库的连接应尽量保持相对稳定的状态,每秒新增连接数建议保持在10以下。 建议客户端的连接超时时间至少设置为最大业务执行时长的3倍。 对于副本集实例,客户端需要同时配置主备节点的IP地址;对于集群实例,至少配置两个dds mongos的IP地址。 DDS默认提供rwuser用户,使用rwuser用户登录时认证库必须是admin。
  • 性能相关 规范 业务程序禁止执行全表扫描的查询。 执行查询时,只选择需要返回的字段,不需要的字段不要返回。从而减少网络和进程处理的负载,修改数据时,只修改变化需要修改的字段,不要整个对象直接存储全部修改。 避免使用$not。DDS并不会对缺失的数据进行索引,因此$not的查询条件将会要求在一个结果集中扫描所有记录。如果$not是唯一的查询条件,会对集合执行全表扫描。 用$and时把匹配最少结果的条件放在最前面,用$or时把匹配最多结果的条件放在最前面。 单个实例中,数据库的总的个数不要超过200个,总的集合个数不要超过500个。集合数量过多会导致内存压力变高,并且集合数量多会导致重启以及主备倒换性能变差,影响紧急情况下的高可用性能。 业务上线前,一定要对数据库进行性能压测,评估业务峰值场景下,对数据库的负载情况。 禁止同时执行大量并发事务,且长时间不提交。 业务正式上线前, 所有的查询类别,都应该先执行查询计划检查查询性能。 建议 每个连接在后台都是由一个单独线程处理,每个线程会分配1MB的栈内存。所以连接数不宜过多,否则会占用过多的内存。 使用连接池,避免频繁的建立连接和断开连接,否则会导致CPU过高。 减少磁盘读写:避免使用不必要的upsert命令,避免查询不必要的数据。 优化数据分布:对数据进行分片,同时分散热点数据,均衡地使用实例资源。如何进行数据分片,请参见设置数据分片。 减少锁冲突:避免对同一个Key过于频繁地操作。 减少锁等待:避免前台创建索引。 注意 开发过程中对集合的每一个操作都要通过执行explain()检查其执行计划,如: db.T_DeviceData.find({"deviceId":"ae4b5769-896f"}).explain(); db.T_DeviceData.find({"deviceId":"77557c2-31b4"}).explain("executionStats"); 对于查询而言,因为覆盖查询不需要读取文档,而是直接从索引中返回结果,这样的查询性能好,所以尽可能使用索引覆盖查询。如果explain()的输出显示indexOnly字段为真,则说明这个查询就被一个索引覆盖。 执行计划解析: 看执行时间:executionStats.executionStages.executionTimeMillisEstimate和executionStats.executionStages.inputStage. executionTimeMillisEstimate时间越短越好。 executionStats.executionTimeMillis表示执行计划选择和执行的所有时间。 executionStats.executionStages.executionTimeMillisEstimate表示执行计划的执行完成时间。 executionStats.executionStages.inputStage. executionTimeMillisEstimate表示执行计划下的子阶段执行完成时间。 看扫描条数:三个条目数相同为最佳。 executionStats. nReturned表示匹配查询条件的文档数。 executionStats .totalKeysExamined表示索引扫描条目数。 executionStats .totalDocsExamined表示文档扫描条目数。 看Stage状态,性能较好的Stage状态组合如下。 Fetch+IDHACK Fetch+ixscan Limit+(Fetch+ixscan) PROJECTION+ixscan 表1 状态说明 状态名称 描述 COLLSCAN 全表扫描 SORT 内存中进行排序 IDHACK 根据_id进行查询 TEXT 全文索引 COUNTSCAN 未用索引计数 FETCH 索引扫描 LIMIT 使用Limit限制返回数 SUBPLA 未用索引的$or查询阶段 PROJECTION 限定返回字段时stage的返回 COUNT_SCAN 使用索引计数
  • 创建索引 DDS使用如下命令创建索引: db.collection.createIndex(keys, options) key 值为你要创建的索引字段,1 为指定按升序创建索引,-1代表降序创建索引。 options接收可选参数,常用可选参数列表如下: Parameter Type Description background Boolean 默认值为false。 建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引。 unique Boolean 默认值为false。 建立的索引是否唯一。指定为true创建唯一索引。 name string 索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。 expireAfterSeconds integer 指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。 创建索引。 单字段索引(Single Field Index) db.user.createIndex({"name": 1}) 上述语句针对name创建了单字段索引,其能加速对name字段的各种查询请求,是最常见的索引形式,DDS默认创建的id索引也是这种类型,{"name": 1} 代表升序索引,也可以通过{"name": -1}来指定降序索引,对于单字段索引,升序/降序效果是一样的。 复合索引(Compound Index) 复合索引是单子索引的升级版本,它针对多个字段联合创建索引,先按第一个字段排序,第一个字段相同的文档按第二个字段排序,依次类推。 db.user.createIndex({"name": 1, "age": 1} ) 多键索引 当索引的字段为数组时,创建出的索引称为多键索引。 多键索引会为数组的每个元素建立一条索引。 如果为user集合加入一个habit字段(数组)用于描述兴趣爱好,需要查询有相同兴趣爱好的人就可以利用habit字段的多键索引。 {“name” : “jack”, “age” : 19, habit: [“football, runnning”]} //这是person表的一条用户信息。 db.user.createIndex( {"habit": 1} ) //自动创建多key索引 db.user.find( {"habit": "football"} ) //查询有相同兴趣爱好的人 查看集合索引。 db.user.getIndexes() 删除集合所有索引。 db.user.dropIndexes() 删除集合指定索引。如下方式删除user集合中"name"索引。 db.user.dropIndex({"name": 1})
  • 注意事项 DDS除了支持多种不同类型的索引,还能对索引定制一些特殊的属性。 唯一索引(unique index):保证索引对应的字段不会出现相同的值,比如_id索引就是唯一索引。 TTL索引:可以针对某个时间字段,指定文档的过期时间(经过指定时间后过期 或 在某个时间点过期)。 部分索引(partial index): 只针对符合某个特定条件的文档建立索引。 稀疏索引(sparse index): 只针对存在索引字段的文档建立索引,可看做是部分索引的一种特殊情况。
  • 索引分类 索引分类 说明 默认索引 在创建集合期间,DDS在_id字段上创建唯一索引。该索引可防止客户端插入两个具有相同值的文档。你不能将_id字段上的index删除。 在分片群集中,如果您不使用_id字段作为分片键,应用程序需要确保_id字段中值的唯一性以防止错误。这通常是通过使用标准的自动生成的ObjectId来完成的。 单字段索引 除DDS定义的_id索引外,DDS还支持在文档的单个字段上创建用户定义的升序/降序索引。 对于单字段索引和排序操作,索引键的排序顺序(升序或降序)并不重要,因为DDS可以从任何方向遍历索引。 复合索引 DDS还支持多个字段上的用户定义索引,即复合索引。 复合索引中列出的字段的顺序具有重要意义。例如,如果一个复合索引由{userid: 1, score: -1}组成,索引首先按userid排序,然后在每个userid值内按score排序。 对于复合索引和排序操作,索引键的排序顺序(升序或降序)可以决定索引是否支持排序操作。 多键索引 DDS使用多键索引来索引存储在数组中的内容。如果索引包含数组值的字段,DDS为数组的每个元素创建单独的索引项。这些多键索引允许查询通过匹配数组的一个或多个元素来选择包含数组的文档。DDS自动决定是否创建一个多键索引,如果索引字段包含数组值,您不需要显式地指定多键类型。
  • 准备依赖资源 Kafka实例所需资源的具体要求和创建指导如表1所示。 表1 Kafka实例依赖资源 准备资源 要求 创建指导 VPC和子网 Kafka实例可以使用当前账号下已创建的VPC和子网,也可以使用新创建的VPC和子网,还可以使用共享VPC和子网,请根据实际需要进行配置。 共享VPC是基于 资源访问管理 (Resource Access Manager,简称 RAM )服务的机制,VPC的所有者可以将VPC内的子网共享给一个或者多个账号使用。通过共享VPC功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。有关VPC子网共享的更多信息,请参见共享VPC。 在创建VPC和子网时应注意如下要求: 创建的VPC与Kafka实例在相同的区域。 创建VPC和子网时,配置参数建议使用默认配置。 创建VPC和子网的操作指导请参考创建虚拟私有云和子网,若需要在已有VPC上创建和使用新的子网,请参考为虚拟私有云创建新的子网。 安全组 不同的Kafka实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行配置。 使用Kafka实例前,添加表2所示安全组规则,其他规则请根据实际需要添加。 说明: 创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加表2的规则。 创建安全组的操作指导请参考创建安全组,为安全组添加规则的操作指导请参考添加安全组规则。 弹性IP地址 在创建弹性IP地址时,应注意如下要求: 创建的弹性IP地址与Kafka实例在相同的区域。 弹性IP地址的数量必须与Kafka实例的代理个数相同。 Kafka控制台无法识别开启IPv6转换功能的弹性IP地址。 创建弹性IP地址的操作指导请参考申请弹性公网IP。 表2 安全组规则 方向 协议 端口 源地址 说明 入方向 TCP 9094 0.0.0.0/0 通过公网访问Kafka实例(关闭SSL加密)。 入方向 TCP 9092 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。 使用对等连接跨VPC访问Kafka实例(关闭SSL加密)。 入方向 TCP 9095 0.0.0.0/0 通过公网访问Kafka实例(开启SSL加密)。 入方向 TCP 9093 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。 使用对等连接跨VPC访问Kafka实例(开启SSL加密)。 入方向 TCP 9011 198.19.128.0/17 通过 VPC终端节点 实现跨VPC访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。 入方向 TCP 9011 0.0.0.0/0 使用DNAT访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。
  • 计费周期 按需计费CloudTable资源按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以CloudTable集群创建成功的时间点为准,终点以实例删除时间为准。 云服务器从创建到启动需要一定时长,计费的起点是创建成功的时间点,而非创建时间。您可以在云服务器详情页“基本信息”页签查看这两个时间,创建成功的时间点对应界面上的“启动时间”。 例如,您在8:45:30购买了一台按需计费的集群,然后在8:55:30将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 计费示例 假设您在2023/04/18 9:59:30购买了一个集群,计费资源包括计算资源(vCPU和内存)和带宽(6Mbit/s),然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒,按1小时算。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒,按1小时算。 您需要为每个计费周期付费,各项ECS资源单独计费,计费公式如表2所示。产品价格详情中标出了资源的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 HBase组件计费示例 表4 计费公式 资源类型 计费公式 资源单价 计算规格 节点规格单价 * 购买时长*节点数量 以控制台实际显示价格为主。 存储费用 数据存储单价*数据存储容量*节点个数*购买时长 以控制台实际显示价格为主。 图3 按需计费CloudTable HBase费用计算示例给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以 表格存储服务 器价格详情中的价格为准。 图4 按需计费CloudTable HBase费用计算示例 Doris计费示例 表5 计费公式 资源类型 计费公式 资源单价 计算规格 节点规格单价 * 购买时长*节点数量 请参见 表格存储 服务器价格详情中的“规格价格”。 存储费用 数据存储单价*数据存储容量*节点个数*购买时长 请参见表格存储服务器价格详情中的“规格价格”。 图3 按需计费CloudTable Doris费用计算示例给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以表格存储服务器价格详情中的价格为准。 图5 Doris按需计费示例 ClickHouse计费示例 表6 计费公式 资源类型 计费公式 资源单价 计算规格 节点规格单价 * 购买时长*节点数量 以控制台实际显示价格为主。 存储费用 数据存储单价*数据存储容量*节点个数*购买时长 以控制台实际显示价格为主。 图6给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以表格存储服务器价格详情中的价格为准。 图6 ClickHouse按需计费
共100000条