队列是消息存储的目的地,队列可以分成普通队列和延时队列。 如果发送消息时不指定消息延时,被发送到普通队列的消息立刻可以被消费,而发送到延时队列需要经过设定的延时时间后才能被消费。

QueueURL
  • 格式:http://$AccountId.mns.<Region>.aliyuncs.com/queues/$QueueName
  • mns.<Region>.aliyuncs.com:MNS访问域名,Region是MNS部署的地域,您可以根据应用需要选择不同的地域。
  • AccountId:队列所有者的账号ID。
  • QueueName:队列名称,同一个AccountId在同地域中的队列名不能重名。

队列属性

DelaySeconds
  • 消息延迟时间,单位:秒。
  • 取值范围:0 ~ 604800秒(7天)。
  • 当该属性大于0时,发送到队列的所有消息是延迟消息,经过该属性指定的时间后变为可消费消息。
  • 如果发送消息请求指定了DelaySeconds,以请求指定的DelaySeconds为准。
MaximumMessageSize
  • 消息体最大长度,单位:Byte。
  • 取值范围:1024 ~ 65536 Byte (64 KB)。
  • 该属性用于限制发送到队列的消息体的最大长度,超过该长度发送消息失败。
MessageRetentionPeriod
  • 消息最长保留时间,单位:秒。
  • 取值范围:60 ~ 604800秒(7天)。
  • 发送到队列的消息最长保留该时长,超过指定时间,无论消息是否被消费都将被删除。
VisibilityTimeout
  • 消息被receive后的隐藏时长,单位:秒。
  • 取值范围:1 ~ 43200秒(12小时)。
  • 消息被receive后,在该属性指定的这段时间内消息处于隐藏状态。在这段时间内,可以删除消息或者修改消息隐藏时长;超过这段时间,消息可以再次被receive。
PollingWaitSeconds
  • (batch)receive message请求最长等待时间,单位:秒。
  • 取值范围:0 ~ 30秒。
  • 当队列中没有消息时,(batch)receive message请求将运行在MNS服务器端。在该属性指定的时间范围内,如果有消息发送到队列中,立即返回消息给用户;如果超过该时间,仍然没有消息,返回MessageNotExist。
  • 如果(batch)receive message请求指定了wait seconds,以请求指定的时间为准。
LoggingEnabled
  • 是否开启日志管理功能。
  • 取值范围:True/False。
  • 当该属性为True时,MNS将收集队列的消息操作日志按照指定的方式进行推送,日志管理请参见日志管理
CreateTime
队列创建时间,从1970-1-1 00:00:00到现在的秒值。
LastModifyTime
修改队列属性信息的最近时间,从1970-1-1 00:00:00到现在的秒值。
ActiveMessages
队列中处于Active状态的消息总数,为近似值。
InactiveMessages
队列中处于Inactive状态的消息总数,为近似值。
DelayMessages
队列中处于Delayed状态的消息总数,为近似值。