Reviewed-by: Ziuzko, Stanislav <stanislav.ziuzko@t-systems.com> Co-authored-by: Chen, Junjie <chenjunjie@huawei.com> Co-committed-by: Chen, Junjie <chenjunjie@huawei.com>
12 KiB
Creating a Topic for a Kafka Instance
Function
This API is used to create a topic for a Kafka instance.
URI
POST /v2/{project_id}/instances/{instance_id}/topics
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
instance_id |
Yes |
String |
Instance ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
id |
Yes |
String |
Topic name. A topic name consists of 3 to 200 characters, starts with a letter, and contains only letters, hyphens (-), underscores (_), periods (.), and digits. |
replication |
No |
Integer |
Number of replicas, which is configured to ensure data reliability. Value range: 1 to 3. |
sync_message_flush |
No |
Boolean |
Whether synchronous flushing is enabled. The default value is false. Synchronous flushing compromises performance. |
partition |
No |
Integer |
Number of topic partitions, which is used to set the number of concurrently consumed messages.Value range: 1–200 |
sync_replication |
No |
Boolean |
Whether synchronous replication is enabled. After this function is enabled, the acks parameter on the producer client must be set to –1. Otherwise, this parameter does not take effect. |
retention_time |
No |
Integer |
Indicates the retention period of a message. The default value is 72.The value range is 1–720, in hours. |
topic_other_configs |
No |
Array of topic_other_configs objects |
Topic configuration. |
topic_desc |
No |
String |
Topic description. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
|---|---|---|
name |
String |
Topic name. |
Example Requests
Creating a topic named test01
POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/topics
{
"id" : "test01",
"partition" : 3,
"replication" : 3,
"retention_time" : 72,
"sync_message_flush" : false,
"sync_replication" : "false",
"topic_other_configs" : [ {
"name" : "message.timestamp.type",
"value" : "LogAppendTime"
}, {
"name" : "max.message.bytes",
"value" : 10485760
} ],
"topic_desc" : ""
}
Example Responses
Status code: 200
Successful. A topic name is returned.
{
"name" : "test01"
}
Status Codes
Status Code |
Description |
|---|---|
200 |
Successful. A topic name is returned. |
Error Codes
See Error Codes.