创建Kafka实例
功能介绍
创建实例。
该接口支持创建按需和包周期两种计费方式的实例。
调用方法
请参见如何调用API。
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 |
当ssl_enable为true时,该参数必选,ssl_enable为false时,该参数无效。 认证用户名,只能由英文字母开头且由英文字母、数字、中划线、下划线组成,长度为4~64的字符。 |
password |
否 |
String |
当ssl_enable为true时,该参数必选,ssl_enable为false时,该参数无效。 实例的认证密码。 复杂度要求:
|
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可以从查询产品规格列表获取。 |
maintain_begin |
否 |
String |
维护时间窗开始时间,格式为HH:mm。 |
maintain_end |
否 |
String |
维护时间窗结束时间,格式为HH:mm。 |
enable_publicip |
否 |
Boolean |
是否开启公网访问功能。默认不开启公网。
|
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认证机制。 选择其一进行SASL认证即可,支持同时开启两种认证机制。 取值如下:
|
port_protocol |
否 |
PortProtocol object |
设置Kafka实例的接入方式。PLAINTEXT表示明文接入,SASL_SSL或者SASL_PLAINTEEXT表示密文接入。 内网访问不支持关闭,明文接入和密文接入至少开启一个。 跨VPC访问的安全协议等于内网访问的安全协议,若内网同时开启了密文访问和明文访问,则跨VPC访问的安全协议会优先使用密文访问的安全协议。 |
retention_policy |
否 |
String |
磁盘的容量到达容量阈值后,对于消息的处理策略。 取值如下:
|
ipv6_enable |
否 |
Boolean |
是否开启ipv6。仅在虚拟私有云支持ipv6时生效。 |
disk_encrypted_enable |
否 |
Boolean |
是否开启磁盘加密。 |
disk_encrypted_key |
否 |
String |
磁盘加密key,未开启磁盘加密时为空 |
connector_enable |
否 |
Boolean |
是否开启消息转储功能。 默认不开启消息转储。 |
enable_auto_topic |
否 |
Boolean |
是否打开kafka自动创建Topic功能。
当您选择开启,表示生产或消费一个未创建的Topic时,会自动创建一个包含3个分区和3个副本的Topic。 默认是false关闭。 |
storage_spec_code |
是 |
String |
存储IO规格。 取值范围:
如何选择磁盘类型请参考《云硬盘 产品介绍》的“磁盘类型及性能介绍”。 |
enterprise_project_id |
否 |
String |
企业项目ID。若为企业项目账号,该参数必填。 |
tags |
否 |
Array of TagEntity objects |
标签列表。 |
arch_type |
否 |
String |
CPU架构。当前只支持X86架构。 取值范围:
|
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 |
是否自动续订。 取值范围:
默认不自动续订。 |
charging_mode |
否 |
String |
计费模式。 功能说明:付费方式。 取值范围:
默认为postPaid。 |
is_auto_pay |
否 |
Boolean |
下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。 取值范围:
默认为手动支付。 |
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" ] }
-
创建一个包年包月的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", "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 }, "tenant_ips" : [ "127.xx.xx.x", "127.xx.xx.x", "127.xx.xx.x" ] }
响应示例
状态码:200
创建实例成功。
{
"instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d"
}
状态码
状态码 |
描述 |
---|---|
200 |
创建实例成功。 |
错误码
请参见错误码。