CreateQueue
Метод для создания новой стандартной или FIFO очереди.
По умолчанию создается стандартная очередь. Чтобы создать очередь FIFO необходимо использовать параметр FifoQueue.
Примечание
Нельзя изменить тип созданной очереди со стандартного на FIFO. Для этого нужно либо создать новую очередь, либо удалить старую и пересоздать ее как очередь FIFO.
При пересоздании очереди с тем же именем ей будет присвоен новый QueueUrl, отличный от старого.
Если вы удалили очередь, создание новой очереди с таким же именем можно повторить через 60 секунд.
Имя очереди должно быть уникально в пределах каталога и его длина не должна превышать 80 символов. В имени можно использовать цифры, буквы, подчеркивания и дефисы. Имя очереди FIFO должно заканчиваться суффиксом .fifo.
Примечание
Всегда храните в системе URL очереди точно в таком же виде, в каком его возвращает Message Queue при создании очереди. Не формируйте URL из отдельных частей, так как они могут меняться.
Запрос
Параметры запроса
| Параметр | Тип | Обязательный параметр | Описание |
|---|---|---|---|
QueueName |
string | Да | Имя очереди. Максимальная длина — 80 символов. В имени можно использовать цифры, буквы, подчеркивания и дефисы. Имя очереди FIFO должно заканчиваться суффиксом .fifo. |
Attributes.N.* |
список атрибутов | Нет | Список атрибутов очереди. |
Tags.N.* |
список меток | Нет | Список меток очереди. |
Атрибуты
Атрибуты очереди. Атрибуты передаются в виде списка. Подробнее о передаче списочных параметров см. Использование API.
Attribute.N.Name (атрибут)
Attribute.N.Value (значение атрибута)
| Атрибут | Тип | Описание |
|---|---|---|
DelaySeconds |
integer | Время в секундах, на которое сообщения будут скрыты после отправки. Возможные значения от 0 до 900 секунд (15 минут). Значение по умолчанию: 0. |
MaximumMessageSize |
integer | Максимальный размер сообщения в байтах. Возможные значения: от 1024 байт (1 КБ) до 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. Включает два параметра:
|
VisibilityTimeout |
integer | Таймаут видимости сообщений в очереди в секундах. Возможные значения: от 0 до 43000 секунд. Значение по умолчанию: 30. |
Атрибуты очередей FIFO
| Атрибут | Описание |
|---|---|
FifoQueue |
Флаг, указывающий что создается очередь FIFO. Возможные значения: Если параметр не используется, будет создана стандартная очередь. Нельзя изменить параметр у уже созданной очереди. При использовании отправки сообщений в очередь FIFO необходимо явно указывать для них параметр |
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
&Tag.1.Key=environment
&Tag.1.Value=production
Подробнее о формировании запросов см. в разделе Общий вид запросов к API.
Пример ответа
<CreateQueueResponse>
<CreateQueueResult>
<QueueUrl>
https://message-queue.api.cloud.yandex.net/b1g8ad42m6he********/dj6000000000********/sample-queue
</QueueUrl>
</CreateQueueResult>
<ResponseMetadata>
<RequestId>
e4c69a67-f2809a49-6b326386-14d2a08-af8eb419750efa1dbcabf184********
</RequestId>
</ResponseMetadata>
</CreateQueueResponse>