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 КБ) до 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
Подробнее о формировании запросов см. в разделе Общий вид запросов к 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>