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

授权信息

默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见授权策略和示例

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

请求消息

请求消息由请求行、HTTP头和消息体三部分组成:

  • 请求行

    GET /queues/$queueName HTTP/1.1

  • 特有Request Header

    无。

  • Request Body

    无。

返回消息

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

  • HTTP Status Code

    HTTP/1.1 200 OK

  • 特有Response Header

    无。

  • Response Body

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

    参数名称 类型 示例值 描述
    QueueName String demo-queue Queue的名称。
    CreateTime Long 1250700999 Queue的创建时间,从1970-01-01 00:00:00到现在的时间。
    LastModifyTime Long 1250700999 修改Queue属性信息最近时间,从1970-01-01 00:00:00到现在的时间。
    DelaySeconds Integer 30 发送到该Queue的所有消息的延迟时间,发送到队列的消息经过此参数设定的延时时间后,才能被消费,单位为秒。
    MaximumMessageSize Integer 65536 发送到该Queue的消息体的最大长度,单位为Byte。
    MessageRetentionPeriod Integer 65536 消息在该Queue中最长的存活时间,从发送到该队列开始经过此参数指定的时间后,不论消息是否被取出过都将被删除,单位为秒。
    PollingWaitSeconds Integer 0 当Queue消息量为空时,针对该Queue的ReceiveMessage请求最长的等待时间,单位为秒。
    ActiveMessages Integer 20 在该Queue中处于Active状态的消息总数,为近似值。
    InactiveMessages Int 0 在该Queue中处于Inactive状态的消息总数,为近似值。
    DelayMessages Int 0 在该Queue中处于Delayed状态的消息总数,为近似值。
    LoggingEnabled Boolean True 是否开启日志管理功能。
    • 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+FIEXAM****

返回示例:

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

    <?xml version="1.0" encoding="UTF-8"?>
    <Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
        <QueueName>demo-queue</QueueName >
        <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>            

错误码

错误码 错误信息 HTTP状态码 描述内容
QueueNotExist The queue name you provided is not exist. 404 队列不存在,请先创建队列。