更新时间:2023-08-16 GMT+08:00

创建实例

功能介绍

创建实例。

该接口支持创建按需和包周期两种计费方式的实例。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

engine

String

消息引擎。

缺省值:kafka

project_id

String

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

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

name

String

实例名称。

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

description

String

实例的描述信息。

长度不超过1024的字符串。

说明:

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

engine

String

消息引擎。取值填写为:kafka。

engine_version

String

消息引擎的版本。取值填写为:

  • 1.1.0

  • 2.7

broker_num

Integer

代理个数。

storage_space

Integer

消息存储空间,单位GB。

  • Kafka实例规格为c6.2u4g.cluster时,存储空间取值范围300GB ~ 300000GB。

  • Kafka实例规格为c6.4u8g.cluster时,存储空间取值范围300GB ~ 600000GB。

  • Kafka实例规格为c6.8u16g.cluster时,存储空间取值范围300GB ~ 900000GB。

  • Kafka实例规格为c6.12u24g.cluster时,存储空间取值范围300GB ~ 900000GB。

  • Kafka实例规格为c6.16u32g.cluster时,存储空间取值范围300GB ~ 900000GB。

access_user

String

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

认证用户名,只能由英文字母、数字、中划线、下划线组成,长度为4~64的字符。

password

String

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

实例的认证密码。

复杂度要求:

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

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

    • 小写字母

    • 大写字母

    • 数字

    • 特殊字符包括(`~!@#$%^&*()-_=+|[{}]:'",<.>/?)

vpc_id

String

虚拟私有云ID。

获取方法如下:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。

security_group_id

String

指定实例所属的安全组。

获取方法如下:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。

subnet_id

String

子网信息。

获取方法如下:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。

available_zones

Array of strings

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

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

创建Kafka实例,支持节点部署在1个或3个及3个以上的可用区。在为节点指定可用区时,用逗号分隔开。

product_id

String

产品ID。

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

kafka_manager_user

String

表示登录Kafka Manager的用户名。只能由英文字母、数字、中划线组成,长度为4~64的字符。

kafka_manager_password

String

表示登录Kafka Manager的密码。

复杂度要求:

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

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

    • 小写字母

    • 大写字母

    • 数字

    • 特殊字符包括(`~!@#$%^&*()-_=+|[{}]:'",<.>/?)

maintain_begin

String

维护时间窗开始时间,格式为HH:mm。

  • 维护时间窗开始和结束时间必须为指定的时间段。

  • 开始时间必须为22:00、02:00、06:00、10:00、14:00和18:00。

  • 该参数不能单独为空,若该值为空,则结束时间也为空。系统分配一个默认开始时间02:00。

maintain_end

String

维护时间窗结束时间,格式为HH:mm。

  • 维护时间窗开始和结束时间必须为指定的时间段。

  • 结束时间在开始时间基础上加四个小时,即当开始时间为22:00时,结束时间为02:00。

  • 该参数不能单独为空,若该值为空,则开始时间也为空,系统分配一个默认结束时间06:00。

enable_publicip

Boolean

是否开启公网访问功能。默认不开启公网。

  • true:开启

  • false:不开启

publicip_id

String

实例绑定的弹性IP地址的ID。

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

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

ssl_enable

Boolean

是否打开SSL加密访问。

实例创建后将不支持动态开启和关闭。

  • true:打开SSL加密访问。

  • false:不打开SSL加密访问。

kafka_security_protocol

String

开启SASL后使用的安全协议,如果开启了SASL认证功能(即ssl_enable=true),该字段为必选。

若该字段值为空,默认开启SASL_SSL认证机制。

实例创建后将不支持动态开启和关闭。

  • SASL_SSL: 采用SSL证书进行加密传输,支持帐号密码认证,安全性更高。

  • SASL_PLAINTEXT: 明文传输,支持帐号密码认证,性能更好,仅支持SCRAM-SHA-512机制。

sasl_enabled_mechanisms

Array of strings

开启SASL后使用的认证机制,如果开启了SASL认证功能(即ssl_enable=true),该字段为必选。

若该字段值为空,默认开启PLAIN认证机制。

选择其一进行SASL认证即可,支持同时开启两种认证机制。 取值如下:

  • PLAIN: 简单的用户名密码校验。

  • SCRAM-SHA-512: 用户凭证校验,安全性比PLAIN机制更高。

retention_policy

String

磁盘的容量到达容量阈值后,对于消息的处理策略。

取值如下:

  • produce_reject:表示拒绝消息写入。

  • time_base:表示自动删除最老消息。

disk_encrypted_enable

Boolean

是否开启磁盘加密。

disk_encrypted_key

String

磁盘加密key,未开启磁盘加密时为空

connector_enable

Boolean

是否开启消息转储功能。

默认不开启消息转储。

enable_auto_topic

Boolean

是否打开kafka自动创建topic功能。

  • true:开启

  • false:关闭

当您选择开启,表示生产或消费一个未创建的Topic时,会自动创建一个包含3个分区和3个副本的Topic。

默认是false关闭。

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

标签列表。

arch_type

String

CPU架构。当前只支持X86架构。

取值范围:

  • X86

vpc_client_plain

Boolean

VPC内网明文访问。

bss_param

BssParam object

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

如果为空,则默认计费模式为按需计费;否则是包周期方式。

表3 TagEntity

参数

是否必选

参数类型

描述

key

String

键。

key不能为空,长度1~128个字符(中文也可以输入128个字符)。

可用UTF-8格式表示的字母、数字和空格,以及以下字符: _ . : = + - @

key两头不能有空格字符。

value

String

值。

长度0~255个字符(中文也可以输入255个字符)。

可用UTF-8格式表示的字母、数字和空格,以及以下字符: _ . : / = + - @。

value可以为空字符串。

表4 BssParam

参数

是否必选

参数类型

描述

is_auto_renew

Boolean

是否自动续订。

取值范围:

  • true: 自动续订。

  • false: 不自动续订。

默认不自动续订。

charging_mode

String

计费模式。

功能说明:付费方式。

取值范围:

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

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

默认为postPaid。

is_auto_pay

Boolean

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

取值范围:

  • true:是(自动支付)

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

默认为手动支付。

period_type

String

订购周期类型。

取值范围:

  • month:月

  • year:年

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

period_num

Integer

订购周期数。

取值范围:

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

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

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

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

instance_id

String

实例ID

请求示例

  • 创建一个按需付费的Kafka实例,版本为2.7,规格为2U4G*3,300GB的存储空间。

    POST https://{endpoint}/v2/{engine}/{project_id}/instances
    
    {
      "name" : "kafka-test",
      "description" : "",
      "engine" : "kafka",
      "engine_version" : "2.7",
      "storage_space" : 300,
      "vpc_id" : "********-9b4a-44c5-a964-************",
      "subnet_id" : "********-8fbf-4438-ba71-************",
      "security_group_id" : "********-e073-4aad-991f-************",
      "available_zones" : [ "********706d4c1fb0eb72f0********" ],
      "product_id" : "c6.2u4g.cluster",
      "ssl_enable" : true,
      "kafka_security_protocol" : "SASL_SSL",
      "sasl_enabled_mechanisms" : [ "SCRAM-SHA-512" ],
      "storage_spec_code" : "dms.physical.storage.ultra.v2",
      "broker_num" : 3,
      "arch_type" : "X86",
      "enterprise_project_id" : "0",
      "access_user" : "********",
      "password" : "********",
      "enable_publicip" : true,
      "tags" : [ {
        "key" : "aaa",
        "value" : "111"
      } ],
      "retention_policy" : "time_base",
      "disk_encrypted_enable" : true,
      "disk_encrypted_key" : "********-b953-4875-a743-************",
      "kafka_manager_user" : "********",
      "kafka_manager_password" : "********",
      "publicip_id" : "********-88fc-4a8c-86d0-************,********-16af-455d-8d54-************,********-3d69-4367-95ab-************",
      "vpc_client_plain" : true,
      "enable_auto_topic" : true
    }
  • 创建一个包年包月的Kafka实例,版本为2.7,规格为2U4G*3,300GB的存储空间。

    POST https://{endpoint}/v2/{engine}/{project_id}/instances
    
    {
      "name" : "kafka-test1",
      "description" : "",
      "engine" : "kafka",
      "engine_version" : "2.7",
      "storage_space" : 300,
      "vpc_id" : "********-9b4a-44c5-a964-************",
      "subnet_id" : "********-8fbf-4438-ba71-************",
      "security_group_id" : "********-e073-4aad-991f-************",
      "available_zones" : [ "********706d4c1fb0eb72f0********" ],
      "product_id" : "c6.2u4g.cluster",
      "ssl_enable" : true,
      "kafka_security_protocol" : "SASL_SSL",
      "sasl_enabled_mechanisms" : [ "SCRAM-SHA-512" ],
      "storage_spec_code" : "dms.physical.storage.ultra.v2",
      "broker_num" : 3,
      "arch_type" : "X86",
      "enterprise_project_id" : "0",
      "access_user" : "********",
      "password" : "********",
      "enable_publicip" : true,
      "tags" : [ {
        "key" : "aaa",
        "value" : "111"
      } ],
      "retention_policy" : "time_base",
      "kafka_manager_user" : "********",
      "kafka_manager_password" : "********",
      "publicip_id" : "********-88fc-4a8c-86d0-************,********-16af-455d-8d54-************,********-3d69-4367-95ab-************",
      "vpc_client_plain" : true,
      "enable_auto_topic" : true,
      "bss_param" : {
        "charging_mode" : "prePaid",
        "period_type" : "month",
        "period_num" : 1,
        "is_auto_pay" : true
      }
    }

响应示例

状态码: 200

创建实例成功。

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

状态码

状态码

描述

200

创建实例成功。

错误码

请参见错误码