使用GetQueueAttributes接口来获取某个已创建队列的属性。

Name Value
API GetQueueAttributes
RAM授权操作 mns:GetQueueAttributes
资源 acs:mns:$region:$accountid:/queues/$queueName

描述

该接口用于获取某个已创建队列的属性,返回属性除了创建队列时设置的可设置属性外,还可以取到队列创建时间、队列属性修改最后时间以及队列中的各类消息统计数(近似值)。

Request

Request的构造主要由以下几个部分组成。

  • 请求行

    GET /queues/$queueName HTTP/1.1

  • 特有Request Header

    无,请参见公共参数

  • Request Body

Response

返回消息由返回状态行、HTTP头和消息体三部分组成。

  • HTTP Status Code

    HTTP/1.1 200 OK

  • 特有Response Header

    无,请参见公共参数

  • Response Body

    返回的结果为XML格式,格式为:<Queue>Attribute Element List</Queue>

    属性元素列表包括:

    参数名称 说明
    QueueName Queue的名称
    CreateTime Queue的创建时间,从1970-1-1 00:00:00到现在的秒值
    LastModifyTime 修改Queue属性信息最近时间,从1970-1-1 00:00:00到现在的秒值
    DelaySeconds 发送消息到该Queue的所有消息默认将以DelaySeconds参数指定的秒数延后可被消费,单位为秒
    MaximumMessageSize 发送到该Queue的消息体的最大长度,单位为Byte
    MessageRetentionPeriod 消息在该Queue中最长的存活时间,从发送到该队列开始经过此参数指定的时间后,不论消息是否被取出过都将被删除,单位为秒
    PollingWaitSeconds 当Queue消息量为空时,针对该Queue的ReceiveMessage请求最长的等待时间,单位为秒
    Activemessages 在该Queue中处于Active状态的消息总数,为近似值
    InactiveMessages 在该Queue中处于Inactive状态的消息总数,为近似值
    DelayMessages 在该Queue中处于Delayed状态的消息总数,为近似值
    LoggingEnabled 是否开启日志管理功能,True表示启用,False表示停用

示例

请求示例:

    GET /queues/$queueName HTTP/1.1
    Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
    Date: Wed, 08 Mar 2012 12:00:00 GMT
    x-mns-version: 2015-06-06
    Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=            

返回示例:

    HTTP/1.1 200 OK
    Content-Type=text/xml;charset=utf-8
    Content-Length:145
    x-mns-request-id:512B2A634403E52B1956133E 
    x-mns-version: 2015-06-06

    <?xml version="1.0" encoding="UTF-8"?>
    <Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
        <QueueName>$queueName </QueueName ><!—以实际Queue Name返回 ->
        <CreateTime>1250700999</CreateTime >
        <LastModifyTime>1250700999</LastModifyTime>
        <VisibilityTimeout>60</VisibilityTimeout >
        <MaximumMessageSize>65536</MaximumMessageSize>
        <MessageRetentionPeriod>65536</MessageRetentionPeriod>
        <DelaySeconds>30</DelaySecond>
        <PollingWaitSeconds>0</PollingWaitSeconds>
        <InactiveMessages>0</InactiveMessages>
        <ActiveMessages>20</ActiveMessages>
        <DelayMessages>0</DelayMessages>
        <LoggingEnabled>True</LoggingEnabled>
    </Queue>            

Special error

错误码 错误信息 状态码
QueueNotExist The queue name you provided is not exist. 404