编辑: 迷音桑 | 2019-07-16 |
AccountId: 队列所有者的帐号 ID;
QueueName: 队列名称,同一个AccountId在同 Region 中的队列名不能重名. QueueMessage 队列消息 用户发送到队列的消息;
发送消息时可以指定消息体、消息延迟时长、消息优先级;
消息属性 MessageId 消息编号;
(batch) send/receive/peek message 操作返回该属性;
一个队列中每个消息都有唯一的 MessageId;
消息发送到队列中,MNS 会生成一个 MessageId,该编号一旦生成就不会变化,可以用来做数据校 对;
NextVisibleTime 消息下次可被消费的时间,从1970年1月1日00:00:00
000 开始的毫秒数;
(batch) receive message 和change message visibility 操作返回该属性;
ReceiptHandle 消息临时句柄;
(batch) receive message 和change message visibility 操作返回该属性;
该句柄用于删除和修改处于Inactive状态的消息,NextVisibleTime之前有效,超过该时间使用句柄 消息服务 MNS API 参考
4 - - - - - - - - - - - - - - - - MNS 会提示MessageNotExist;
消息临时句柄只能使用一次,如果该句柄标识的消息状态发生改变,该句柄就会失效;
MessageBody 消息正文;
(batch) receive/peek message 操作返回该属性;
MessageBodyMD5 消息正文的MD5值;
(batch) send/receive/peek message 操作返回该属性;
EnqueueTime 消息发送到队列的时间,从1970年1月1日00:00:00
000 开始的毫秒数;
(batch) receive/peek message 操作返回该属性;
FirstDequeueTime 消息第一次被消费的时间,从1970年1月1日00:00:00
000 开始的毫秒数;
(batch) receive/peek message 操作返回该属性;
如果消息从未被消费过,该属性与EnqueueTime相同;
DequeueCount 消息总共被消费的次数(即被receive的次数);
(batch) receive/peek message 操作返回该属性;
Priority 消息的优先级权值,取值范围:1~16,其中1为最高优先级;
(batch) receive/peek message 操作返回该属性;
如果队列中有不同优先级的消息,优先级越高的消息越容易更早被消费(既被ReceiveMessage操作 取出);
MNS会尽量让高优先级的消息先出队列,正是因为分布式消息队列的一些特性不能百分之百保证高优 先级的消息先被消费;
消息类型 消息服务 MNS API 参考
5 - - - - - - - - - - - - - 延时消息 这类消息发送到队列后,需要经过 DelaySeconds 指定的时间后才可被消费;
发送(batch)send message请求时指定或者配置队列的 DelaySeconds 属性;
消息状态 普通消息被发送到普通队列时,初始状态是 Active,当其被取走后在VisibilityTimeout 的时间内状态 为Inactive,若超过 VisibilityTimeout 时间后消息还未被删除,消息会重新变成Active状态;
如果在 VisibilityTimeout 时间内被删除, 消息状态变为 Deleted. 普通消息发送到延时队列时,消息初始状态 Delayed,经过延时队列的 DelaySeconds 属性值设定的 时间后,消息状态变成 Active. 延时消息发送到消息队列(普通队列或者延时队列),消息的初始状态为 Delayed,经过消息的 DelaySeconds 属性指定的时间后消息状态变成 Active. 消息的最长存活时间由创建队列时指定的 MessageRetentionPeriod 属性值决定,超过此时间后消 息状态会变成 Expired,将被垃圾回收器回收. 消费者只能取到处于 Active 状态的消息. Topic 主题是发布消息的目的地,发布者可以通过 PublishMessage 接口向主题发布消息. 主题属性 MaximumMessageSize 消息体的最大长度,单位为Byte;