创建Kafka实例
功能介绍
创建实例。
URI
POST /v2/{project_id}/kafka/instances
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目ID,获取方式请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数解释: 实例名称。 约束限制: 由英文字符开头,只能由英文字母、数字、中划线、下划线组成,长度为4~64的字符。 取值范围: 不涉及。 默认取值: 不涉及。 |
description |
否 |
String |
参数解释: 实例的描述信息。 约束限制: 长度不超过1024的字符串。 \与"在json报文中属于特殊字符,如果参数值中需要显示\或者"字符,请在字符前增加转义字符\,比如\\或者\"。 取值范围: 不涉及。 默认取值: 不涉及。 |
engine |
是 |
String |
参数解释: 消息引擎。 约束限制: 不涉及 取值范围: kafka 默认取值: 不涉及。 |
engine_version |
是 |
String |
参数解释: 消息引擎的版本。 约束限制: 不涉及 取值范围:
默认取值: 不涉及。 |
broker_num |
是 |
Integer |
参数解释: 代理个数。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
storage_space |
是 |
Integer |
参数解释: 消息存储空间,单位GB。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
access_user |
否 |
String |
参数解释: 认证用户名。 约束限制: 只能由英文字母开头且由英文字母、数字、中划线、下划线组成,长度为4~64的字符。当ssl_enable为true时,该参数必选,ssl_enable为false时,该参数无效。 取值范围: 不涉及。 默认取值: 不涉及。 |
password |
否 |
String |
参数解释: 实例的认证密码。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
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 |
参数解释: 是否开启公网访问功能。 约束限制: 不涉及。 取值范围:
默认取值: 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加密访问。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
kafka_security_protocol |
否 |
String |
参数解释: 开启SASL后使用的安全协议。 约束限制: 若该字段值为空,默认开启SASL_SSL认证机制。实例创建后,此参数不支持动态修改。 若创建实例时,使用了port_protocol参数,则Kafka的内网访问安全协议以及公网访问安全协议会使用port_protocol中的值,则此参数无效。 取值范围:
默认取值: 不涉及。 |
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 |
参数解释: 磁盘的容量到达容量阈值后,对于消息的处理策略。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
ipv6_enable |
否 |
Boolean |
参数解释: 是否开启IPv6。 约束限制: 仅在虚拟私有云支持IPv6时生效。 取值范围:
默认取值: false。 |
disk_encrypted_enable |
否 |
Boolean |
参数解释: 是否开启磁盘加密。 约束限制: 不涉及。 取值范围:
默认取值: false。 |
disk_encrypted_key |
否 |
String |
参数解释: 磁盘加密key,未开启磁盘加密时为空。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
connector_enable |
否 |
Boolean |
参数解释: 是否开启Smart Connect功能。Smart Connect用于Kafka实例和其他云服务之间的数据同步,或者两个Kafka实例之间的数据同步,实现数据的备份或迁移。 约束限制: 不涉及。 取值范围:
默认取值: false。 |
enable_auto_topic |
否 |
Boolean |
参数解释: 是否开启kafka自动创建Topic功能。当您选择开启,向一个未创建的Topic生产或消费消息时,系统会自动创建此Topic。 约束限制: 不涉及。 取值范围:
默认取值: false。 |
storage_spec_code |
是 |
String |
参数解释: 云硬盘类型。如何选择磁盘类型请参考《云硬盘 用户指南》的“磁盘类型及性能介绍”。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
enterprise_project_id |
否 |
String |
参数解释: 企业项目ID。 约束限制: 若为企业项目账号,该参数必填。 取值范围: 不涉及。 默认取值: 不涉及。 |
tags |
否 |
Array of TagEntity objects |
参数解释: Kafka实例的标签信息。 约束限制: 不涉及。 |
arch_type |
否 |
String |
参数解释: CPU架构。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
vpc_client_plain |
否 |
Boolean |
参数解释: VPC内网明文访问。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
bss_param |
否 |
BssParam object |
参数解释: 表示包周期计费模式的相关参数。 约束限制: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
private_plain_enable |
否 |
Boolean |
参数解释: 是否开启内网明文访问连接方式。 约束限制: 不涉及。 取值范围:
默认取值: false。 |
private_sasl_ssl_enable |
否 |
Boolean |
参数解释: 是否开启安全协议为SASL_SSL的内网密文接入方式。 约束限制: private_sasl_ssl_enable和private_sasl_plaintext_enable不能同时为true。 取值范围:
默认取值: false。 |
private_sasl_plaintext_enable |
否 |
Boolean |
参数解释: 是否开启安全协议为SASL_PLAINTEXT的内网密文接入方式。 约束限制: private_sasl_plaintext_enable和private_sasl_ssl_enable不能同时为true。 取值范围:
默认取值: false。 |
public_plain_enable |
否 |
Boolean |
参数解释: 是否开启公网明文访问连接方式。 约束限制: 开启公网明文接入前,需要先开启公网访问功能。 取值范围:
默认取值: false。 |
public_sasl_ssl_enable |
否 |
Boolean |
参数解释: 是否开启安全协议为SASL_SSL的公网密文接入。 约束限制: public_sasl_ssl_enable和public_sasl_plaintext_enable不能同时为true。 为true时,需要实例开启公网。 取值范围:
默认取值: false。 |
public_sasl_plaintext_enable |
否 |
Boolean |
参数解释: 是否开启安全协议为SASL_PLAINTEXT的公网密文接入方式。 约束限制: public_sasl_plaintext_enable和public_sasl_ssl_enable不能同时为true。 为true时,需要实例开启公网。 取值范围:
默认取值: false。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
否 |
String |
参数解释: 标签键。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
value |
否 |
String |
参数解释: 标签值。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
is_auto_renew |
否 |
Boolean |
参数解释: 是否自动续订。 约束限制: 不涉及。 取值范围:
默认取值: false |
charging_mode |
否 |
String |
参数解释: 计费模式。 约束限制: 不涉及。 取值范围:
默认取值: postPaid。 |
is_auto_pay |
否 |
Boolean |
参数解释: 下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。 约束限制: 不涉及。 取值范围:
默认取值: false |
period_type |
否 |
String |
参数解释: 订购周期类型。 约束限制: chargingMode为prePaid时生效且为必选值。 取值范围:
默认取值: 不涉及。 |
period_num |
否 |
Integer |
参数解释: 订购周期数。 约束限制: chargingMode为prePaid时生效且为必选值。 取值范围:
默认取值: 不涉及。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
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 |
创建实例成功。 |
错误码
请参见错误码。