分布式消息服务 DMS分布式消息服务 DMS

更新时间:2021/06/16 GMT+08:00
分享

向指定队列发送消息

功能介绍

向指定队列发送消息,可同时发送多条消息。

  • 每次最多发送10条。

  • 每次发送的消息总负载不超过512KB。

  • Kafka队列的消息保存时间在创建队列时可以设置,可设置范围为1~72小时。其他队列的消息最大保存时长为72小时。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{project_id}/queues/{queue_id}/messages

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

queue_id

String

指定的队列ID。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

return_id

Boolean

发送消息成功后,是否返回Message ID,默认为false,设置为true时,返回参数才有Message ID。

messages

Array of SendMessageEntity objects

消息列表。

表3 SendMessageEntity

参数

是否必选

参数类型

描述

body

Object

消息正文。

attributes

Object

属性列表,包含属性名称和属性值。

同一条消息的属性名称不可重复,否则属性值将被覆盖。

tags

Object

消息标签,即Label,是通过对消息增加Label来区分队列中的消息分类,DMS允许消费者按照Label对消息进行过滤,确保消费者最终只消费到他关心的消息类型。

消息标签只能包含a~z,A~Z,0-9,-,_,长度是[1,64]。

最多可添加3个标签。

delay_time

Object

延时消息的延时时长。

延时消息是指消息发送到DMS服务后,并不期望这条消息立即被消费,而是延迟一段时间后才能被消费。

取值范围:0~604800000

单位:毫秒

不配置该参数或者配置为0,表示无延时。

配置为浮点数时,自动取小数点前面的整数值,比如配置为6000.9,则自动取值为6000。

仅NORMAL队列和FIFO队列可以设置延时消息,Kafka队列不支持延时消息的功能,如果向Kafka队列生产延时消息,提示{"code":10540010, "message":"Invalid request format: kafka queue message could not have delayTime."}。

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

messages

Array<Object>

消息列表。

表5 messages

参数

参数类型

描述

error

String

错误描述信息。

error_code

Integer

错误码。

state

Integer

发送消息的状态。 0:表示发送成功。 1:表示发送失败,失败原因参考对应的error和error_code。

id

String

消息ID。

请求示例

POST https://{endpoint}/v2/{project_id}/queues/{queue_id}/messages

{
  "messages" : [ {
    "body" : "test"
  } ]
}

响应示例

状态码: 201

发送消息成功。

{
  "messages" : [ {
    "error" : null,
    "state" : 0,
    "id" : "eyJ0b3BpYyI6InEtNjdjMDFiOTI5NDQxNDRhMTlkMmRhOTY4ZWYzNGE5MTItNGZhMWQ5YTQtNjRhNC00MmYxLTk3MzAtZGU4NTFjMTU0Mjg2Iiwib2Zmc2V0IjoyMzQ4LCJwYXJ0aXRpb24iOjIsInRhcmdldFRvcGljIjpudWxsfQ==",
    "error_code" : null
  }, {
    "error" : null,
    "state" : 0,
    "id" : "jhGwdWEpnyrXMlauz72j+7cD8W9F4I2HAk6GyQFJCJMX6Va3W7KlA2IVCZ+hYHFcKqA0n1DQLdKMCyGKvd0ZrQRfwHzjAabgYnWg2VCHtb12fJkzKMQB4JwwcyHvsPNffmFW6gxC4VVaT4cHf8sLYzrZmES1fd36r5o9wpbpqOgi2I==",
    "error_code" : null
  } ]
}

状态码

状态码

描述

201

发送消息成功。

错误码

请参见错误码

分享:

    相关文档

    相关产品