创建队列
功能介绍
每个project_id默认只能创建30个队列。
创建队列时系统内部完成初始化需要1-3秒,如果创建队列后立即进行操作,可能会导致生产消息、消费消息、查询队列详情、创建消费组和删除队列等操作失败。建议3秒后再操作该队列。
请求消息
请求参数
参数说明请参见表2。
名称 |
类型 |
是否必选 |
说明 |
---|---|---|---|
name |
String |
是 |
队列的名称,必须唯一。 长度不超过64位的字符串,包含a~z,A~Z,0~9、中划线(-)和下划线(_)。 创建队列后无法修改名称。 |
queue_mode |
String |
否 |
队列类型。 取值范围:
默认值:NORMAL |
description |
String |
否 |
队列的描述信息。 长度不超过160位的字符串,不能包含尖括号<>。 |
redrive_policy |
String |
否 |
仅当queue_mode为“NORMAL”或者“FIFO”时,该参数有效。 是否开启死信消息,死信消息是指无法被正常消费的消息。 当达到最大消费次数仍然失败后,DMS会将该条消息转存到死信队列中,有效期为72小时,用户可以根据需要对死信消息进行重新消费。 消费死信消息时,只能消费该消费组产生的死信消息。 有序队列的死信消息依然按照先入先出(FIFO)的顺序存储在死信队列中。 取值范围:
默认值:disable |
max_consume_count |
Integer |
否 |
仅当redrive_policy为enable时,该参数必选。 最大确认消费失败的次数,当达到最大确认失败次数后,DMS会将该条消息转存到死信队列中。 取值范围:1~100 |
retention_hours |
Integer |
否 |
指定kafka队列的消息保存时间,单位为小时。 仅当queue_mode为KAFKA_HA或者KAFKA_HT才有效。 取值范围 : 1-72(小时) |
请求示例
创建FIFO队列:
{ "name" : "queue-001", "description" : "This is a FIFO queue.", "queue_mode" : "FIFO", "redrive_policy" : "enable", "max_consume_count" : 3 }
{ "name" : "queue-002", "description" : "This is a Kafka queue.", "queue_mode" : "KAFKA_HA", "retention_hours" : 36 }
响应消息
响应参数
响应参数如表3所示。
参数 |
类型 |
描述 |
---|---|---|
id |
String |
队列ID。 |
name |
String |
队列的名称。 |
kafka_topic |
String |
仅Kafka队列才有该响应参数。 使用Kafka SDK时的Kafka topic的ID。 |
响应示例
创建FIFO队列:
{ "id": "9bf46390-38a2-462d-b392-4d5b2d519c55", "name": "queue_001" }
{ "id" : "3ec7a4a2-541b-430a-9c2b-77fa4b64ed8", "name" : "queue_002", "kafka_topic" : "k-fdc60cfe407a4b2a96a498efda55c785-3ec7a4a2-541b-430a-9c2b-77fa4b64ed8" }