GetQueueAttributes

Метод для получения атрибутов указанной очереди.

Если в конце названия очереди стоит суффикс .fifo — запрашиваемая очередь имеет тип FIFO.

Запрос

Параметры запроса

Параметр Тип Обязательный параметр Описание
QueueUrl string Да URL очереди.
Attributes.N.* список атрибутов Нет Список атрибутов очереди.

Атрибуты

Атрибуты очереди. Атрибуты передаются в виде списка. Подробнее о передаче списочных параметров см. Использование API.

Attribute.N.Name (атрибут)
Attribute.N.Value (значение атрибута)
Атрибут Описание
All Возвращает все атрибуты очереди.
ApproximateNumberOfMessages Возвращает ориентировочное количество сообщений в очереди, которые готовы к получению.
ApproximateNumberOfMessagesDelayed Возвращает ориентировочное количество отложенных сообщений в очереди, которые еще не готовы к приему.
ApproximateNumberOfMessagesNotVisible Возвращает ориентировочное количество сообщений, находящихся в процессе передачи — они уже отправлены получателю, но еще не удалены из очереди или у них не закончился таймаут видимости.
CreatedTimestamp Возвращает таймстемп создания очереди в секундах (epoch time).
DelaySeconds Время в секундах, на которое сообщения будут скрыты после отправки.
LastModifiedTimestamp Возвращает время последнего изменения очереди в секундах (epoch time).
MaximumMessageSize Возвращает максимальный размер сообщения в байтах.
MessageRetentionPeriod Возвращает срок хранения сообщений в секундах.
QueueArn ARN очереди, используемый в атрибуте RedrivePolicy.
ReceiveMessageWaitTimeSeconds Возвращает время ожидания для метода ReceiveMessage в секундах.
RedrivePolicy Политика перенаправления сообщений в Dead Letter Queue. Тип исходной очереди и очереди DLQ должны быть одинаковыми: для очередей FIFO очередь DLQ тоже должна быть очередью FIFO. Включает два параметра:
  • deadLetterTargetArn — ARN очереди, в которую будут перенаправляться сообщения.
  • maxReceiveCount — максимальное количество попыток считывания сообщения из очереди перед перенаправлением в DLQ. Когда значение параметра ReceiveCount у сообщения превышает значение maxReceiveCount, сообщение перенаправляется в DLQ.
VisibilityTimeout Возвращает таймаут видимости сообщений в очереди в секундах.

Атрибуты очередей FIFO

Атрибут Описание
FifoQueue Флаг, указывающий, что очередь является FIFO-очередью. Чтобы определить, является ли очередь FIFO-очередью, убедитесь, что в конце названия очереди стоит суффикс .fifo.
ContentBasedDeduplication Флаг, указывающий, что в очереди включена дедупликация по содержимому сообщения.

Неподдерживаемые атрибуты

Атрибут Тип Описание
KmsMasterKeyId string Атрибут не поддерживается в Yandex Message Queue.
KmsDataKeyReusePeriodSeconds string Атрибут не поддерживается в Yandex Message Queue.

Ответ

Поля успешного ответа

Поле Тип Описание
Attributes.N.* array Массив атрибутов очереди.

Ошибки GetQueueAttributes

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки.

Код HTTP Идентификатор ошибки Описание
400 InvalidAttributeName Неверное имя атрибута.

Пример запроса

Action=GetQueueAttributes
&Version=2012-11-05
&QueueUrl=https://message-queue.api.cloud.yandex.net/b1g8ad42m6he1ooql78r/dj600000000000le07ol/sample-queue
&AttributeName.1=All

Подробнее о формировании запросов см. в разделе Общий вид запросов к API.

Пример ответа

<GetQueueAttributesResponse>
    <GetQueueAttributesResult>
        <Attribute>
            <Name>ApproximateNumberOfMessages</Name>
            <Value>0</Value>
        </Attribute>
        <Attribute>
            <Name>ApproximateNumberOfMessagesDelayed</Name>
            <Value>0</Value>
        </Attribute>
        <Attribute>
            <Name>ApproximateNumberOfMessagesNotVisible</Name>
            <Value>0</Value>
        </Attribute>
        <Attribute>
            <Name>CreatedTimestamp</Name>
            <Value>1548345183</Value>
        </Attribute>
        <Attribute>
            <Name>DelaySeconds</Name>
            <Value>0</Value>
        </Attribute>
        <Attribute>
            <Name>MaximumMessageSize</Name>
            <Value>262144</Value>
        </Attribute>
        <Attribute>
            <Name>MessageRetentionPeriod</Name>
            <Value>345600</Value>
        </Attribute>
        <Attribute>
            <Name>ReceiveMessageWaitTimeSeconds</Name>
            <Value>0</Value>
        </Attribute>
        <Attribute>
            <Name>VisibilityTimeout</Name>
            <Value>30</Value>
        </Attribute>
    </GetQueueAttributesResult>
    <ResponseMetadata>
        <RequestId>a69769e7-d07122f-147f09c0-e1f9d20-2e4fd5bae005ef4e6d639f7946b42bde</RequestId>
    </ResponseMetadata>
</GetQueueAttributesResponse>