向指定队列发送消息
功能介绍
向指定队列发送消息,可同时发送多条消息。
- 每次最多发送10条。
- 每次发送的消息总负载不超过512KB。
- Kafka队列的消息保存时间在创建队列时可以设置,可设置范围为1~72小时。其他队列的消息最大保存时长为72小时。
请求消息
请求参数
名称 |
类型 |
是否必选 |
说明 |
---|---|---|---|
messages |
Array |
是 |
消息列表。 |
returnId |
Boolean |
否 |
发送消息成功后,是否返回Message ID,默认为false,设置为true时,返回参数才有Message ID。 |
名称 |
类型 |
是否必选 |
说明 |
---|---|---|---|
body |
JSON |
是 |
消息正文。 |
attributes |
JSON对象 |
否 |
属性列表,包含属性名称和属性值。 同一条消息的属性名称不可重复,否则属性值将被覆盖。 |
tags |
JSON对象 |
否 |
消息标签,即Label,是通过对消息增加Label来区分队列中的消息分类,DMS允许消费者按照Label对消息进行过滤,确保消费者最终只消费到他关心的消息类型。 消息标签只能包含a~z,A~Z,0-9,-,_,长度是[1,64]。 最多可添加3个标签。 |
delayTime |
Long |
否 |
延时消息的延时时长。 延时消息是指消息发送到DMS服务后,并不期望这条消息立即被消费,而是延迟一段时间后才能被消费。 取值范围:0~604800000 单位:毫秒 不配置该参数或者配置为0,表示无延时。 配置为浮点数时,自动取小数点前面的整数值,比如配置为6000.9,则自动取值为6000。 仅NORMAL队列和FIFO队列可以设置延时消息,Kafka队列不支持延时消息的功能,如果向Kafka队列生产延时消息,提示{"code":10540010, "message":"Invalid request format: kafka queue message could not have delayTime."}。 |
请求示例
{ "messages" : [{ "body" : "TEST11", "attributes" : { "attribute1" : "value1", "attribute2" : "value2" }, "tags" : ["tag1", "tag2"], "delayTime":60000 }, { "body" : { "foo" : "test02" }, "attributes" : { "attribute1" : "value1", "attribute2" : "value2" }, "tags" : ["tag1", "tag2"], "delayTime":10000 } ], "returnId" : "true" }
响应消息
响应参数
参数 |
类型 |
描述 |
---|---|---|
error |
String |
错误描述信息。 |
error_code |
Integer |
错误码。 |
state |
Integer |
发送消息的状态。 0:表示发送成功。 1:表示发送失败,失败原因参考对应的error和error_code。 |
id |
String |
消息ID。 |
响应示例
{ "messages" : [{ "error" : null, "state" : 0, "id" : "eyJ0b3BpYyI6InEtNjdjMDFiOTI5NDQxNDRhMTlkMmRhOTY4ZWYzNGE5MTItNGZhMWQ5YTQtNjRhNC00MmYxLTk3MzAtZGU4NTFjMTU0Mjg2Iiwib2Zmc2V0IjoyMzQ4LCJwYXJ0aXRpb24iOjIsInRhcmdldFRvcGljIjpudWxsfQ==", "error_code" : null }, { "error" : null, "state" : 0, "id" : "jhGwdWEpnyrXMlauz72j+7cD8W9F4I2HAk6GyQFJCJMX6Va3W7KlA2IVCZ+hYHFcKqA0n1DQLdKMCyGKvd0ZrQRfwHzjAabgYnWg2VCHtb12fJkzKMQB4JwwcyHvsPNffmFW6gxC4VVaT4cHf8sLYzrZmES1fd36r5o9wpbpqOgi2I==", "error_code" : null } ] }