更新时间:2025-09-03 GMT+08:00

创建Kafka实例

功能介绍

创建实例。

URI

POST /v2/{project_id}/kafka/instances

表1 路径参数

参数

是否必选

参数类型

描述

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.3.0

  • 2.7

  • 3.x

默认取值

不涉及。

broker_num

Integer

参数解释

代理个数。

约束限制

不涉及。

取值范围

  • Kafka实例规格为kafka.2u4g.cluster时,代理数取值范围3-30。

  • Kafka实例规格为kafka.4u8g.cluster时,代理数取值范围3-30。

  • Kafka实例规格为kafka.8u16g.cluster时,代理数取值范围3-50。

  • Kafka实例规格为kafka.12u24g.cluster时,代理数取值范围3-50。

  • Kafka实例规格为kafka.16u32g.cluster时,代理数取值范围3-50。

默认取值

不涉及。

storage_space

Integer

参数解释

消息存储空间,单位GB。

约束限制

不涉及。

取值范围

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

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

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

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

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

默认取值

不涉及。

access_user

String

参数解释

认证用户名。

约束限制

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

取值范围

不涉及。

默认取值

不涉及。

password

String

参数解释

实例的认证密码。

约束限制

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

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

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

    • 小写字母。

    • 大写字母。

    • 数字。

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

取值范围

不涉及。

默认取值

不涉及。

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。

约束限制

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

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

product_id

String

参数解释

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

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

maintain_begin

String

参数解释

维护时间窗开始时间。

约束限制

格式为HH:mm。

取值范围

不涉及。

默认取值

不涉及。

maintain_end

String

参数解释

维护时间窗结束时间。

约束限制

格式为HH:mm。

取值范围

不涉及。

默认取值

不涉及。

enable_publicip

Boolean

参数解释

是否开启公网访问功能。

约束限制

不涉及。

取值范围

  • true:开启。

  • false:不开启。

默认取值

false。

tenant_ips

Array of strings

参数解释

创建实例时可以手动指定实例节点的内网IP地址,仅支持指定IPv4地址。

约束限制

指定内网IP地址数量必须小于等于创建的节点数量。

如果指定的内网IP地址数量小于创建的节点数量时,系统会自动为剩余的节点随机分配内网IP地址。

publicip_id

String

参数解释

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

约束限制

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

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

取值范围

不涉及。

默认取值

不涉及。

ssl_enable

Boolean

参数解释

是否开启SASL加密访问。

约束限制

不涉及。

取值范围

  • true:开启SASL加密访问。

  • false:关闭SASL加密访问。

默认取值

不涉及。

kafka_security_protocol

String

参数解释

开启SASL后使用的安全协议。

约束限制

若该字段值为空,默认开启SASL_SSL认证机制。实例创建后,此参数不支持动态修改。

若创建实例时,使用了port_protocol参数,则Kafka的内网访问安全协议以及公网访问安全协议会使用port_protocol中的值,则此参数无效。

取值范围

  • SASL_SSL:使用SSL证书加密传输,支持账号密码认证,安全性更高。

  • SASL_PLAINTEXT:通过明文传输,支持账号密码认证,性能更好。

默认取值

不涉及。

sasl_enabled_mechanisms

Array of strings

参数解释

开启SASL后使用的认证机制。

约束限制

如果开启了SASL认证功能(即ssl_enable=true),该字段为必选。若该字段值为空,默认开启PLAIN认证机制。

port_protocol

PortProtocol object

参数解释

设置Kafka实例的接入方式。PLAINTEXT表示明文接入,SASL_SSL或者SASL_PLAINTEXT表示密文接入。

约束限制

内网访问不支持关闭,明文接入和密文接入至少开启一个。

跨VPC访问的安全协议等于内网访问的安全协议,若内网同时开启了密文访问和明文访问,则跨VPC访问的安全协议会优先使用密文访问的安全协议。

retention_policy

String

参数解释

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

约束限制

不涉及。

取值范围

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

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

默认取值

不涉及。

ipv6_enable

Boolean

参数解释

是否开启IPv6。

约束限制

仅在虚拟私有云支持IPv6时生效。

取值范围

  • true:开启。

  • false:不开启。

默认取值

false。

disk_encrypted_enable

Boolean

参数解释

是否开启磁盘加密。

约束限制

不涉及。

取值范围

  • true:开启。

  • false:不开启。

默认取值

false。

disk_encrypted_key

String

参数解释

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

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

connector_enable

Boolean

参数解释

是否开启Smart Connect功能。Smart Connect用于Kafka实例和其他云服务之间的数据同步,或者两个Kafka实例之间的数据同步,实现数据的备份或迁移。

约束限制

不涉及。

取值范围

  • true:开启。

  • false:不开启。

默认取值

false。

enable_auto_topic

Boolean

参数解释

是否开启kafka自动创建Topic功能。当您选择开启,向一个未创建的Topic生产或消费消息时,系统会自动创建此Topic。

约束限制

不涉及。

取值范围

  • true:开启。

  • false:不开启。

默认取值

false。

storage_spec_code

String

参数解释

云硬盘类型。如何选择磁盘类型请参考《云硬盘 用户指南》的“磁盘类型及性能介绍”。

约束限制

不涉及。

取值范围

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

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

默认取值

不涉及。

enterprise_project_id

String

参数解释

企业项目ID。

约束限制

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

取值范围

不涉及。

默认取值

不涉及。

tags

Array of TagEntity objects

参数解释

Kafka实例的标签信息。

约束限制

不涉及。

arch_type

String

参数解释

CPU架构。

约束限制

不涉及。

取值范围

  • X86

默认取值

不涉及。

vpc_client_plain

Boolean

参数解释

VPC内网明文访问。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

bss_param

BssParam object

参数解释

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

约束限制

不涉及。

表3 PortProtocol

参数

是否必选

参数类型

描述

private_plain_enable

Boolean

参数解释

是否开启内网明文访问连接方式。

约束限制

不涉及。

取值范围

  • true:开启内网明文访问连接方式,连接地址:ip:9092,访问协议PLAINTEXT。

  • false:关闭内网明文访问。

默认取值

false。

private_sasl_ssl_enable

Boolean

参数解释

是否开启安全协议为SASL_SSL的内网密文接入方式。

约束限制

private_sasl_ssl_enable和private_sasl_plaintext_enable不能同时为true。

取值范围

  • true:开启安全协议为SASL_SSL的内网密文接入方式。

  • false:关闭安全协议为SASL_SSL的内网接入方式。

默认取值

false。

private_sasl_plaintext_enable

Boolean

参数解释

是否开启安全协议为SASL_PLAINTEXT的内网密文接入方式。

约束限制

private_sasl_plaintext_enable和private_sasl_ssl_enable不能同时为true。

取值范围

  • true:开启安全协议为SASL_PLAINTEXT的内网密文接入方式,连接地址:ip:9093,访问协议SASL_PLAINTEXT。

  • false:关闭安全协议为SASL_PLAINTEXT的内网密文接入方式。

默认取值

false。

public_plain_enable

Boolean

参数解释

是否开启公网明文访问连接方式。

约束限制

开启公网明文接入前,需要先开启公网访问功能。

取值范围

  • true:开启公网明文访问连接方式,连接地址:ip:9094,访问协议PLAINTEXT。

  • false:关闭公网明文接入方式。

默认取值

false。

public_sasl_ssl_enable

Boolean

参数解释

是否开启安全协议为SASL_SSL的公网密文接入。

约束限制

public_sasl_ssl_enable和public_sasl_plaintext_enable不能同时为true。

为true时,需要实例开启公网。

取值范围

  • true:开启安全协议为SASL_SSL的公网密文接入方式,连接地址:ip:9095,访问协议:SASL_SSL。

  • false:关闭安全协议为SASL_SSL的公网密文接入方式。

默认取值

false。

public_sasl_plaintext_enable

Boolean

参数解释

是否开启安全协议为SASL_PLAINTEXT的公网密文接入方式。

约束限制

public_sasl_plaintext_enable和public_sasl_ssl_enable不能同时为true。

为true时,需要实例开启公网。

取值范围

  • true:开启安全协议为SASL_PLAINTEXT的公网密文接入方式,连接地址:ip:9095,访问协议:SASL_PLAINTEXT。

  • false:关闭安全协议为SASL_PLAINTEXT的公网密文接入方式。

默认取值

false。

表4 TagEntity

参数

是否必选

参数类型

描述

key

String

参数解释

标签键。

约束限制

  • 不能为空。

  • 对于同一个实例,Key值唯一。

  • 长度为1~128个字符(中文也可以输入128个字符)。

  • 由任意语种字母、数字、空格和字符组成,字符仅支持_ . : = + - @

  • 不能以_sys_开头。

  • 首尾字符不能为空格。

取值范围

不涉及。

默认取值

不涉及。

value

String

参数解释

标签值。

约束限制

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

  • 由任意语种字母、数字、空格和字符组成,字符仅支持_ . : = + - @

取值范围

不涉及。

默认取值

不涉及。

表5 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

表6 响应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-************",
  "publicip_id" : "********-88fc-4a8c-86d0-************,********-16af-455d-8d54-************,********-3d69-4367-95ab-************",
  "vpc_client_plain" : true,
  "enable_auto_topic" : true,
  "tenant_ips" : [ "127.xx.xx.x", "127.xx.xx.x", "127.xx.xx.x" ]
}

响应示例

状态码:200

创建实例成功。

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

状态码

状态码

描述

200

创建实例成功。

错误码

请参见错误码