CreateQueue

Метод для создания новой стандартной или FIFO очереди.

По умолчанию создается стандартная очередь. Чтобы создать очередь FIFO необходимо использовать параметр FifoQueue.

Примечание

Нельзя изменить тип созданной очереди со стандартного на FIFO. Для этого нужно либо создать новую очередь, либо удалить старую и пересоздать ее как очередь FIFO.

При пересоздании очереди с тем же именем ей будет присвоить новый QueueUrl, отличный от старого.

Если вы удалили очередь, создание новой очереди с таким же именем можно повторить через 60 секунд.

Имя очереди должно быть уникально в пределах каталога и его длина не должна превышать 80 символов. В имени можно использовать цифры, буквы, нижние подчеркивания и дефисы. Имя очереди FIFO должно заканчиваться суффиксом .fifo.

Примечание

Всегда храните в системе URL очереди точно в таком же виде, в каком его возвращает Message Queue при создании очереди. Не формируйте URL из отдельных частей, так как они могут меняться.

Запрос

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

Параметр Тип Обязательный параметр Описание
QueueName string Да Имя очереди. Максимальная длина — 80 символов. В имени можно использовать цифры, буквы, нижние подчеркивания и дефисы. Имя очереди FIFO должно заканчиваться суффиксом .fifo.
Attributes.N.* список атрибутов Нет Список атрибутов очереди.

Атрибуты

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

Attribute.N.Name (атрибут)
Attribute.N.Value (значение атрибута)
Атрибут Тип Описание
DelaySeconds integer Время в секундах, на которое сообщения будут скрыты после отправки. Возможные значения от 0 до 900 секунд (15 минут). Значение по умолчанию: 0.
MaximumMessageSize integer Максимальный размер сообщения в байтах. Возможные значения: от 1024 байт (1 KБ) до 262144 байт (256 КБ). Значение по умолчанию: 262144 (256 КБ).
MessageRetentionPeriod integer Срок хранения сообщений в секундах. Возможные значения: от 60 секунд (1 минуты) до 1209600 секунд (14 дней). Значение по умолчанию: 345600 (4 дня).
ReceiveMessageWaitTimeSeconds integer Время ожидания для метода ReceiveMessage в секундах. Возможные значения: от 0 до 20 секунд. Значение по умолчанию: 0.
RedrivePolicy string Политика перенаправления сообщений в Dead Letter Queue. Тип исходной очереди и очереди DLQ должны быть одинаковыми: для очередей FIFO очередь DLQ тоже должна быть очередью FIFO. Включает два параметра:
  • deadLetterTargetArn — ARN очереди, в которую будут перенаправляться сообщения. ARN очереди можно получить с помощью вызова метода GetQueueAttributes.
  • maxReceiveCount — максимальное количество попыток считывания сообщения из очереди перед перенаправлением в DLQ. Когда значение параметра ReceiveCount у сообщения превышает значение maxReceiveCount, сообщение перенаправляется в DLQ.
VisibilityTimeout integer Таймаут видимости сообщений в очереди в секундах. Возможные значения: от 0 до 43000 секунд. Значение по умолчанию: 30.

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

Атрибут Описание
FifoQueue Флаг, указывающий что создается очередь FIFO.

Возможные значения: true или false.

Если параметр не используется, будет создана стандартная очередь. Нельзя изменить параметр у уже созданной очереди. При использовании отправке сообщений в очередь FIFO необходимо явно указывать для них параметр MessageGroupId.

ContentBasedDeduplication Флаг, включающий дедупликацию по содержимому сообщения. Возможные значения: true или false.

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

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

Ответ

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

Поле Тип Описание
QueueUrl string URL созданной очереди.

Ошибки CreateQueue

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

HTTP Код ошибки Описание
400 QueueDeletedRecently Очередь с таким же именем недавно была удалена. Новую очередь с таким же именем можно создать через 60 секунд после удаления старой.
400 QueueAlreadyExists Очередь с указанным именем уже существует.

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

Action=CreateQueue
&Version=2012-11-05
&QueueName=sample-queue-2
&Attribute.1.Name=VisibilityTimeout
&Attribute.1.Value=30

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

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

<CreateQueueResponse>
    <CreateQueueResult>
        <QueueUrl>
            https://message-queue.api.cloud.yandex.net/b1g8ad42m6he1ooql78r/dj600000000000le07ol/sample-queue
        </QueueUrl>
    </CreateQueueResult>
    <ResponseMetadata>
        <RequestId>
            e4c69a67-f2809a49-6b326386-14d2a08-af8eb419750efa1dbcabf1848a01aefd
        </RequestId>
    </ResponseMetadata>
</CreateQueueResponse>