ALIYUN::KAFKA::Topic is used to create a topic.
Syntax
{
"Type": "ALIYUN::KAFKA::Topic",
"Properties": {
"InstanceId": String,
"Topic": String,
"Remark": String,
"PartitionNum": Integer,
"ReplicationFactor": Integer,
"LocalTopic": Boolean,
"CompactTopic": Boolean,
"Config": Map,
"MinInsyncReplicas": Integer,
"Tags": List
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
---|---|---|---|---|---|
InstanceId | String | Yes | No | The ID of the instance | None |
Topic | String | Yes | No | The name of the topic. | The name must be 3 to 64 characters in length, and can contain letters, digits, underscores
(_), and hyphens (-).
Note The name cannot be modified after the topic is created.
|
Remark | String | Yes | No | The description of the topic. | The description must be 3 to 64 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). |
PartitionNum | Integer | No | No | The number of partitions in the topic. | Valid values: 1 to 48.
To reduce the risk of data skew, we recommend that you set the number of partitions to a multiple of 6. |
ReplicationFactor | Integer | No | No | The number of replicas of the topic. | This property is valid if the LocalTopic property is set to true.
Valid values: 1 to 3. Note If you set this property to 1, the risk of data loss increases. Proceed with caution.
|
LocalTopic | Boolean | No | No | Specifies whether the topic uses local storage. | Valid values:
|
CompactTopic | Boolean | No | No | Specifies whether the topic uses the log compaction policy. | This property is valid if the LocalTopic property is set to true.
Valid values:
|
Config | Map | No | No | The additional configurations. | This property is valid if the LocalTopic property is set to true.
Sample value: |
MinInsyncReplicas | Integer | No | No | The minimum number of in-sync replicas (ISRs). | This property is valid if the LocalTopic property is set to true.
Valid values: 1 to 3. The value must be smaller than the number of topic replicas. |
Tags | List | No | Yes | The tags of the topic. | For more information, see Tags properties. |
Tags syntax
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags properties
Property | Type | Required | Editable | Description | Constraint |
---|---|---|---|---|---|
Key | String | Yes | No | The key of the tag. | The tag key must be 1 to 128 characters in length, and cannot contain http:// or https:// . The tag key cannot start with aliyun or acs: .
|
Value | String | No | No | The value of the tag. | The tag value must be 1 to 128 characters in length, and cannot contain http:// or https:// . The tag value cannot start with aliyun or acs: .
|
Response parameters
Fn::GetAtt
- InstanceId: the ID of the Message Queue for Apache Kafka instance.
- Topic: the name of the topic.
Examples
JSON
format
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test create Topic",
"Parameters": {
"InstanceId": {
"Type": "String",
"Description": "The ID of the Message Queue for Apache Kafka instance."
},
"TopicName": {
"Type": "String",
"Description": "The name of the topic. The name must be 3 to 64 characters in length, and can contain letters, digits, underscores (_), and hyphens (-)."
},
"Remark": {
"Type": "String",
"Description": "The description of the topic. The description must be 3 to 64 characters in length, and can contain letters, digits, underscores (_), and hyphens (-)."
},
"PartitionNum": {
"Type": "Number",
"Description": "The number of partitions in the topic. Valid values: 1 to 48. To reduce the risk of data skew, we recommend that you set the number of partitions to a multiple of 6.",
"MinValue": 1,
"MaxValue": 48,
"Default": null
}
},
"Resources": {
"Topic": {
"Type": "ALIYUN::KAFKA::Topic",
"Properties": {
"InstanceId": {
"Ref": "InstanceId"
},
"Topic": {
"Ref": "TopicName"
},
"Remark": {
"Ref": "Remark"
},
"PartitionNum": {
"Ref": "PartitionNum"
}
}
}
},
"Outputs": {
"TopicName": {
"Value": {
"Fn::GetAtt": [
"Topic",
"Topic"
]
}
}
}
}