ALIYUN::KAFKA::Instance類型用於建立Kafka執行個體。
文法
{
"Type": "ALIYUN::KAFKA::Instance",
"Properties": {
"DeployType": Integer,
"DiskType": String,
"DeployOption": Map,
"EipMax": Integer,
"SpecType": String,
"IoMax": Integer,
"IoMaxSpec": String,
"DiskSize": Integer,
"TopicQuota": Integer,
"PayType": String,
"Tags": List,
"DeletionForce": Boolean,
"OpenConnector": Boolean,
"PartitionNum": Integer,
"ServerlessConfig": Map
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
DeployType | Integer | 是 | 否 | 部署類型。 | 取值:
|
DiskType | String | 否 | 否 | 磁碟類型。 | 取值:
|
DeployOption | Map | 否 | 否 | 部署選項。 | 更多資訊,請參見DeployOption屬性。 |
EipMax | Integer | 否 | 是 | 公網流量。 | 當DeployType取值為4時,需指定該參數。 取值範圍:1~160。 |
SpecType | String | 否 | 是 | 規格類型。 | 取值:
|
IoMax | Integer | 否 | 是 | 流量峰值(不推薦)。 | 流量峰值和流量規格必須指定其中一個參數。如果同時指定,以流量規格為準。建議您只填寫流量規格。 更多資訊,請參見計費概述。 |
IoMaxSpec | String | 否 | 是 | 流量規格(推薦)。 | 流量峰值和流量規格必須指定其中一個參數。如果同時指定,以流量規格為準。建議您只填寫流量規格。 更多資訊,請參見計費概述。 |
DiskSize | Integer | 否 | 是 | 磁碟容量。 | 取值範圍:500~96,000。 單位:GB。 |
TopicQuota | Integer | 否 | 是 | Topic的數量。 | 取值範圍:50~79。 |
PayType | String | 否 | 否 | 付費類型。 | 取值:
|
Tags | List | 否 | 是 | 標籤。 | 最多支援添加20個標籤。 更多資訊,請參見Tags屬性。 |
DeletionForce | Boolean | 否 | 是 | 是否強制移除。 | 取值:
|
OpenConnector | Boolean | 否 | 否 | 是否開啟Connector。 | 取值:
說明 關於Connector的更多資訊,請參見Connector概述。 |
PartitionNum | Integer | 否 | 是 | 分區數(推薦)。 | 要求如下:
更多資訊,請參見計費概述。 |
ServerlessConfig | Map | 否 | 是 | Serverless 執行個體的相關設定。 | 建立 V3 系列(Serverless)執行個體時必傳。詳細資料,請參考ServerlessConfig屬性。 |
Tags文法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Key | String | 是 | 否 | 標籤鍵。 | 長度為1~128個字元,不能以 |
Value | String | 否 | 否 | 標籤值。 | 長度為0~128個字元,不能以 |
DeployOption文法
"DeployOption": {
"IsEipInner": Boolean,
"VpcId": String,
"ZoneId": String,
"VSwitchId": String,
"SecurityGroup": String,
"DeployModule": String,
"Name": String,
"IsSetUserAndPassword": Boolean,
"Username": String,
"Password": String,
"ServiceVersion": String,
"Config": Map,
"Notifier": String,
"CrossZone": Boolean,
"UserPhoneNum": String,
"SelectedZones": List,
"VSwitchIds": List,
"KMSKeyId": String,
"IsForceSelectedZones": Boolean
}
DeployOption屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
IsEipInner | Boolean | 否 | 否 | 是否支援EIP。 | 取值:
EIP支援情況必須與執行個體類型一致。即公網和VPC執行個體取值為true,VPC執行個體取值為false。 |
DeployModule | String | 是 | 否 | 部署模式。 | 取值:
|
VpcId | String | 否 | 否 | 執行個體部署的專用網路ID。 | 無 |
ZoneId | String | 否 | 否 | 執行個體部署的可用性區域ID。 | 無 |
VSwitchId | String | 是 | 否 | 執行個體部署的交換器ID。 | 無 |
SecurityGroup | String | 否 | 否 | 執行個體的安全性群組。 | 如果不指定該參數,訊息佇列Kafka版會自動為您的執行個體配置安全性群組。 |
Name | String | 否 | 否 | 執行個體的名稱。 | 無 |
IsSetUserAndPassword | Boolean | 否 | 否 | 是否設定新的使用者名稱和密碼。 | 僅支援公網和VPC執行個體。取值:
|
Username | String | 否 | 否 | 使用者名稱。 | 僅支援公網和VPC執行個體。 長度為8~40個字元,可包含英文字母和數字。 |
Password | String | 否 | 否 | 使用者密碼。 | 僅支援公網和VPC執行個體。 長度為8~40個字元,可包含英文字母和數字,且必須同時包含小寫英文字母、大寫英文字母和數字。 |
ServiceVersion | String | 否 | 否 | 部署的訊息佇列Kafka版的版本。 | 取值:
|
Config | Map | 否 | 否 | 部署的訊息佇列Kafka版執行個體的初始配置。 | 配置資訊必須是一個合法的JSON字串。取值:
|
Notifier | String | 否 | 否 | 預警連絡人。 | 無 |
CrossZone | Boolean | 否 | 否 | 是否要跨可用性區域部署。 | 取值:
預設值:true。 |
UserPhoneNum | String | 否 | 否 | 預警連絡人手機號碼。 | 無 |
SelectedZones | List | 否 | 否 | 選擇部署的主可用性區域候選集合。 | 以及備可用性區域候選集合的二維數組。支援自訂 code(
|
VSwitchIds | List | 否 | 否 | 執行個體部署的 vSwitch ID 列表。 | 該參數在 V2 和 V3 系列執行個體中必填,Confluent 類型執行個體支援該參數,且 VSwitchIds 與 VSwitchId 需要至少填寫一項,都填寫時,優先使用 VSwitchIds。 |
KMSKeyId | String | 否 | 否 | 同地區內的雲端硬碟加密的金鑰識別碼。 | 您可以在Key Management Service控制台查看金鑰識別碼,也可以建立新的密鑰。具體操作,請參見建立密鑰。 傳入此參數表示開啟執行個體加密(開啟後無法關閉),在調用該介面時,系統會檢查是否建立服務關聯角色 AliyunServiceRoleForAlikafkaInstanceEncryption,若未建立,則會自動建立服務關聯角色。更多資訊,請參見服務關聯角色。 |
IsForceSelectedZones | Boolean | 否 | 否 | 是否強制部署在所選可用性區域。 | 無 |
ServerlessConfig文法
"ServerlessConfig": {
"ReservedPublishCapacity": Integer,
"ReservedSubscribeCapacity": Integer
}
ServerlessConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ReservedPublishCapacity | Integer | 是 | 是 | 預留的發送流量規格值。 | 僅支援傳入整數,最低 60 |
ReservedSubscribeCapacity | Integer | 是 | 是 | 預留的消費流量規格值。 | 僅支援傳入整數,最低 20。 |
傳回值
Fn::GetAtt
InstanceId:執行個體ID。
OrderId:訂單ID。
Name:執行個體名稱。
SslEndpoint:SSL存取點的IP存取點。
SaslDomainEndpoint:SASL存取點的網域名稱存取點。
SslDomainEndpoint:SSL存取點的網域名稱存取點。
DomainEndpoint:預設存取點的網域名稱存取點。
Endpoint:預設存取點的IP存取點。
樣本
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::ZoneId
VSwitchId:
Type: String
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
SecurityGroupId:
Type: String
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Resources:
Instance:
Type: ALIYUN::KAFKA::Instance
Properties:
DeployType: 5
SpecType: normal
PayType: Hour
DiskType: '1'
DeployOption:
VpcId:
Ref: VpcId
ZoneId:
Ref: ZoneId
VSwitchId:
Ref: VSwitchId
SecurityGroup:
Ref: SecurityGroupId
DeployModule: vpc
ServiceVersion: 0.10.2
Config:
kafka.log.retention.hours: '33'
DeletionForce: 'false'
DiskSize: 500
TopicQuota: 50
OpenConnector: 'false'
IoMaxSpec: alikafka.hw.2xlarge
Outputs:
InstanceId:
Description: 'Id of the instance. '
Value:
Fn::GetAtt:
- Instance
- InstanceId
OrderId:
Description: 'Id of the order. '
Value:
Fn::GetAtt:
- Instance
- OrderId
Name:
Description: Name of the instance.
Value:
Fn::GetAtt:
- Instance
- Name
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"ZoneId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::ZoneId"
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
}
},
"SecurityGroupId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
}
}
},
"Resources": {
"Instance": {
"Type": "ALIYUN::KAFKA::Instance",
"Properties": {
"DeployType": 5,
"SpecType": "normal",
"PayType": "Hour",
"DiskType": "1",
"DeployOption": {
"VpcId": {
"Ref": "VpcId"
},
"ZoneId": {
"Ref": "ZoneId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"SecurityGroup": {
"Ref": "SecurityGroupId"
},
"DeployModule": "vpc",
"ServiceVersion": "0.10.2",
"Config": {
"kafka.log.retention.hours": "33"
}
},
"DeletionForce": "false",
"DiskSize": 500,
"TopicQuota": 50,
"OpenConnector": "false",
"IoMaxSpec": "alikafka.hw.2xlarge"
}
}
},
"Outputs": {
"InstanceId": {
"Description": "Id of the instance. ",
"Value": {
"Fn::GetAtt": [
"Instance",
"InstanceId"
]
}
},
"OrderId": {
"Description": "Id of the order. ",
"Value": {
"Fn::GetAtt": [
"Instance",
"OrderId"
]
}
},
"Name": {
"Description": "Name of the instance.",
"Value": {
"Fn::GetAtt": [
"Instance",
"Name"
]
}
}
}
}
更多樣本,請參見建立Kafka執行個體和建立Topic的組合樣本:YAML樣本。