Skip to content

TopicProps

Properties for defining a Topic.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-kafka-topic

Initializer

import ros_cdk_kafka
ros_cdk_kafka.TopicProps(
  instance_id: typing.Union[str, IResolvable],
  remark: typing.Union[str, IResolvable],
  topic: typing.Union[str, IResolvable],
  compact_topic: typing.Union[bool, IResolvable] = None,
  config: typing.Union[IResolvable, typing.Mapping[typing.Any]] = None,
  local_topic: typing.Union[bool, IResolvable] = None,
  min_insync_replicas: typing.Union[typing.Union[int, float], IResolvable] = None,
  partition_num: typing.Union[typing.Union[int, float], IResolvable] = None,
  replication_factor: typing.Union[typing.Union[int, float], IResolvable] = None,
  tags: typing.List[TagsProperty] = None
)

Properties

Name Type Description
instance_id typing.Union[str, ros_cdk_core.IResolvable] Property instanceId: The ID of the Message Queue for Apache Kafka instance where the topic is located.
remark typing.Union[str, ros_cdk_core.IResolvable] Property remark: The description of the topic.
topic typing.Union[str, ros_cdk_core.IResolvable] Property topic: The name of the topic.
compact_topic typing.Union[bool, ros_cdk_core.IResolvable] Property compactTopic: The log cleanup policy for the topic.
config typing.Union[ros_cdk_core.IResolvable, typing.Mapping[typing.Any]] Property config: The advanced configurations of the topic.
local_topic typing.Union[bool, ros_cdk_core.IResolvable] Property localTopic: The storage engine of the topic.
min_insync_replicas typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property minInsyncReplicas: The minimum number of ISR sync replicas.
partition_num typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property partitionNum: The number of partitions in the topic.
replication_factor typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property replicationFactor: The number of copies of the topic.
tags typing.List[TagsProperty] Property tags: Tags to attach to instance.

instance_idRequired

instance_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property instanceId: The ID of the Message Queue for Apache Kafka instance where the topic is located.

You can call the GetInstanceList operation to query instances.


remarkRequired

remark: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property remark: The description of the topic.

The value of this parameter must meet the following requirements: The value can only contain letters, digits, hyphens (-), and underscores (_). The value must be 3 to 64 characters in length.


topicRequired

topic: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property topic: The name of the topic.

  • Reserved instance: The name can contain uppercase letters, lowercase letters, digits, underscores (_), hyphens (-), and periods (.). The name must be 3 to 64 characters in length.
  • Serverless instance: The name can contain uppercase letters, lowercase letters, digits, underscores (_), hyphens (-), and periods (.). The name must be 1 to 249 characters in length.

compact_topicOptional

compact_topic: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property compactTopic: The log cleanup policy for the topic.

This parameter is available when the Local Storage mode is specified for the topic. Valid values: false: uses the default log cleanup policy. true: uses the Apache Kafka log compaction policy.


configOptional

config: typing.Union[IResolvable, typing.Mapping[typing.Any]]
  • Type: typing.Union[ros_cdk_core.IResolvable, typing.Mapping[typing.Any]]

Property config: The advanced configurations of the topic.

  • Configure this parameter in the JSON format.
  • This parameter is available only if LocalTopic is set to true.
  • The following configurations are supported for reserved instances:
  • retention.ms: The message retention period. The value must be an integer from 3,600,000 to 31,536,000,000. Unit: milliseconds.
  • max.message.bytes: The maximum size of a message that can be sent. The value must be an integer from 1,048,576 to 10,485,760. Unit: bytes.
  • message.timestamp.type: The timestamp type of a message. Valid values: CreateTime or LogAppendTime. CreateTime indicates that the message timestamp is the time when the producer creates the message. If you do not specify a timestamp, the client time is used. LogAppendTime indicates that the message timestamp is the time when the server stores the message. The default value is CreateTime. We recommend that you set this parameter to LogAppendTime.
  • The following configurations are supported for Serverless instances:
  • retention.hours: The message retention period. The value is of the string type. The value must be an integer from 24 to 8,760.
  • max.message.bytes: The maximum size of a message that can be sent. The value is of the string type. The value must be an integer from 1,048,576 to 10,485,760.
  • message.timestamp.type: The timestamp type of a message. Valid values: CreateTime or LogAppendTime. CreateTime indicates that the message timestamp is the time when the producer creates the message. If you do not specify a timestamp, the client time is used. LogAppendTime indicates that the message timestamp is the time when the server stores the message. The default value is CreateTime. We recommend that you set this parameter to LogAppendTime.

local_topicOptional

local_topic: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property localTopic: The storage engine of the topic.

Valid values: false: the Cloud Storage mode. true: the Local Storage mode.


min_insync_replicasOptional

min_insync_replicas: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property minInsyncReplicas: The minimum number of ISR sync replicas.

This parameter can only be specified if the LocalTopic value is true. The value must be less than the number of Topic copies. The number of synchronous replicas is limited to 1~3.


partition_numOptional

partition_num: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property partitionNum: The number of partitions in the topic.

  • The value must be an integer from 1 to 360.
  • The console suggests a number of partitions based on the instance type. Follow the suggestion to reduce the risk of data skew. Default value:
  • Reserved instance: 12
  • Serverless instance: 3

replication_factorOptional

replication_factor: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property replicationFactor: The number of copies of the topic.

This parameter can only be specified if the LocalTopic value is true. The number of copies is limited to 1~3. Note When the number of replicas is 1, there is a risk of data loss. Please set it carefully.


tagsOptional

tags: typing.List[TagsProperty]

Property tags: Tags to attach to instance.

Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.