更新时间:2025-12-29 GMT+08:00

创建实例

功能介绍

创建实例,该接口支持创建按需计费方式的实例。

URI

POST /v2/{engine}/{project_id}/instances

表1 路径参数

参数

是否必选

参数类型

描述

engine

是

String

参数解释:

消息引擎。

约束限制:

不涉及。

取值范围:

rabbitmq:RabbitMQ引擎。

默认取值:

不涉及。

project_id

是

String

参数解释:

项目ID,获取方式请参见获取项目ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

name

是

String

参数解释:

实例名称。

约束限制:

由英文字符开头,只能由英文字母、数字、中划线、下划线组成,长度为4~64的字符。

取值范围:

不涉及。

默认取值:

不涉及。

description

否

String

参数解释:

实例的描述信息。

约束限制:

长度不超过1024的字符串。

\与"在json报文中属于特殊字符,如果参数值中需要显示\或者"字符,请在字符前增加转义字符\,比如\\或者\"。

取值范围:

不涉及。

默认取值:

不涉及。

engine

是

String

参数解释:

消息引擎。

约束限制:

不涉及

取值范围:

rabbitmq:RabbitMQ引擎。

默认取值:

不涉及。

engine_version

是

String

参数解释:

消息引擎的版本。

约束限制:

不涉及

取值范围:

  • 3.8.35

默认取值:

不涉及。

enable_acl

否

Boolean

参数解释:

ACL访问控制

约束限制:

仅AMQP版本支持此参数。

取值范围:

  • true:开启ACL访问控制。

  • false:不开启ACL访问控制。

默认取值:

不涉及。

storage_space

是

Integer

参数解释:

消息存储空间,单位GB。

约束限制:

磁盘容量仅支持设置为100的整数倍。

取值范围:

  • 单机实例:100GB~30000GB。

  • 集群实例:100GB * 节点数 ~ 30000GB * 节点数。

默认取值:

不涉及。

access_user

否

String

参数解释:

认证用户名。

约束限制:

只能由英文字母开头且由英文字母、数字、中划线、下划线组成,长度为4~64的字符。当ssl_enable为true时,该参数必选,ssl_enable为false时,该参数无效。

取值范围:

不涉及。

默认取值:

不涉及。

password

否

String

参数解释:

实例的认证密码。

约束限制:

  • 输入长度为8到32位的字符串。

  • 必须包含如下四种字符中的三种组合:

    • 小写字母

    • 大写字母

    • 数字

    • 特殊字符包括(`~!@#$%^&*()-_=+|[{}]:'",<.>/?)和空格,并且不能以-开头

  • 当ssl_enable为true时,该参数必选,ssl_enable为false时,该参数无效。

取值范围:

不涉及。

默认取值:

不涉及。

vpc_id

是

String

参数解释:

虚拟私有云ID。获取方法如下:参考《虚拟私有云 API参考》,调用“查询VPC列表”接口,从响应体中获取VPC ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

security_group_id

是

String

参数解释:

指定实例所属的安全组。获取方法如下:参考《虚拟私有云 API参考》,调用“查询安全组列表”接口,从响应体中获取安全组ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

subnet_id

是

String

参数解释:

子网信息。获取方法如下:参考《虚拟私有云 API参考》,调用“查询子网列表”接口,从响应体中获取子网ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

available_zones

是

Array of strings

参数解释:

创建节点到指定且有资源的可用区ID。请参考查询可用区信息获取可用区ID。

约束限制:

该参数不能为空数组或者数组的值为空。

创建RabbitMQ实例,节点需要部署在1个或3个及以上可用区中。如果部署在多个可用区中,以英文逗号隔开多个可用区ID。

product_id

是

String

参数解释:

产品ID。产品ID可以从查询产品规格列表获取。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

broker_num

否

Integer

参数解释:

代理个数。

约束限制:

当产品为单机类型,代理个数只能为1;当产品为集群类型,可选3、5、7个代理个数。

取值范围:

  • 1

  • 3

  • 5

  • 7

默认取值:

不涉及。

maintain_begin

否

String

参数解释:

维护时间窗开始时间。

约束限制:

格式为HH:mm。

取值范围:

不涉及。

默认取值:

不涉及。

maintain_end

否

String

参数解释:

维护时间窗结束时间。

约束限制:

格式为HH:mm。

取值范围:

不涉及。

默认取值:

不涉及。

enable_publicip

否

Boolean

参数解释:

是否开启公网访问功能。

约束限制:

不涉及。

取值范围:

  • true:开启

  • false:不开启

默认取值:

false。

publicip_id

否

String

参数解释:

实例绑定的弹性IP地址的ID。获取方法:参考《弹性公网IP API参考》,调用“查询弹性公网IP列表”接口,从响应体中获取弹性公网IP的ID。

约束限制:

以英文逗号隔开多个弹性IP地址的ID。

如果开启了公网访问功能(即enable_publicip为true),该字段为必选。

取值范围:

不涉及。

默认取值:

不涉及。

ssl_enable

否

Boolean

参数解释:

是否开启SSL加密访问。

约束限制:

不涉及。

取值范围:

  • true:开启SSL加密访问。

  • false:关闭SSL加密访问。

默认取值:

不涉及。

storage_spec_code

是

String

参数解释:

存储IO规格。

约束限制:

不涉及。

取值范围:

  • dms.physical.storage.high.v2:高IO云硬盘。

  • dms.physical.storage.ultra.v2:超高IO云硬盘。

默认取值:

不涉及。

enterprise_project_id

否

String

参数解释:

企业项目ID。

约束限制:

若为企业项目账号,该参数必填。

取值范围:

不涉及。

默认取值:

不涉及。

tags

否

Array of TagEntity objects

参数解释:

标签列表。

约束限制:

一个RabbitMQ实例最多添加20个标签。

bss_param

否

BssParam object

参数解释:

表示包周期计费模式的相关参数。

约束限制:

不涉及。

表3 TagEntity

参数

是否必选

参数类型

描述

key

否

String

参数解释:

标签键。

取值范围:

不涉及。

value

否

String

参数解释:

标签值。

取值范围:

不涉及。

表4 BssParam

参数

是否必选

参数类型

描述

is_auto_renew

否

Boolean

参数解释:

是否自动续订。

约束限制:

不涉及。

取值范围:

  • true:自动续订。

  • false:不自动续订。

默认取值:

false

charging_mode

否

String

参数解释:

计费模式。

约束限制:

不涉及。

取值范围:

  • prePaid:预付费,即包年包月。

  • postPaid:后付费,即按需付费。

默认取值:

postPaid。

is_auto_pay

否

Boolean

参数解释:

下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。

约束限制:

不涉及。

取值范围:

  • true:是(自动支付)

  • false:否(需要客户手动支付)

默认取值:

false

period_type

否

String

参数解释:

订购周期类型。

约束限制:

chargingMode为prePaid时生效且为必选值。

取值范围:

  • month:月。

  • year:年。

默认取值:

不涉及。

period_num

否

Integer

参数解释:

订购周期数。

约束限制:

chargingMode为prePaid时生效且为必选值。

取值范围:

  • periodType=month(周期类型为月)时,取值为[1,9]。

  • periodType=year(周期类型为年)时,取值为[1,3]。

默认取值:

不涉及。

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

instance_id

String

参数解释:

实例ID。

取值范围:

不涉及。

请求示例

创建一个按需付费的RabbitMQ实例,版本为3.8.35,规格为2U4G*1,100GB的存储空间。

POST https://{endpoint}/v2/{engine}/{project_id}/instances

{
  "name" : "rabbitmq-demo",
  "description" : "",
  "engine" : "RabbitMQ",
  "engine_version" : "3.8.35",
  "storage_space" : 100,
  "access_user" : "******",
  "password" : "******",
  "vpc_id" : "1e93f86e-13af-46c8-97d6-d40fa62b76c2",
  "security_group_id" : "0aaa0033-bf7f-4c41-a6c2-18cd04cad2c8",
  "subnet_id" : "b5fa806c-35e7-4299-b659-b39398dd4718",
  "available_zones" : [ "d573142f24894ef3bd3664de068b44b0" ],
  "product_id" : "c6.2u4g.single",
  "ssl_enable" : false,
  "enable_publicip" : false,
  "publicip_id" : "",
  "storage_spec_code" : "dms.physical.storage.high.v2"
}

响应示例

状态码:200

创建实例成功。

{
  "instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d"
}

状态码

状态码

描述

200

创建实例成功。

错误码

请参见错误码。