[Документация Yandex Cloud](../../../index.md) > [Yandex Message Queue](../../index.md) > [Справочник API](../index.md) > Queue > CreateQueue

# CreateQueue

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

По умолчанию создается стандартная очередь. Чтобы создать [очередь FIFO](../../concepts/queue.md#fifo-queues) необходимо использовать параметр `FifoQueue`.

{% note info %}

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

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

{% endnote %}

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

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

{% note info %}

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

{% endnote %}

## Запрос {#request}

### Параметры запроса {#request-parameters}

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

#### Атрибуты {#attributes}

Атрибуты очереди. Атрибуты передаются в виде списка. Правила передачи списочных параметров приведены в разделе [Использование API](../index.md#array-parameters).

```
Attribute.N.Name (атрибут)
Attribute.N.Value (значение атрибута)
```

Атрибут | Тип | Описание
----- | ----- | -----
`DelaySeconds` | **integer** | Время в секундах, на которое сообщения будут [скрыты после отправки](../../concepts/delay-queues.md#delay-queues). Возможные значения от 0 до 900 секунд (15 минут). Значение по умолчанию: 0.
`MaximumMessageSize` | **integer** | Максимальный размер сообщения в байтах. Возможные значения: от 1024 байт (1 КБ) до 262144 байт (256 КБ). Значение по умолчанию: 262144 (256 КБ).
`MessageRetentionPeriod` | **integer** | Срок хранения сообщений в секундах. Возможные значения: от 60 секунд (1 минуты) до 1209600 секунд (14 дней). Значение по умолчанию: 345600 (4 дня).
`ReceiveMessageWaitTimeSeconds` | **integer** | Время ожидания для метода [ReceiveMessage](../message/ReceiveMessage.md) в секундах. Возможные значения: от 0 до 20 секунд. Значение по умолчанию: 0.
`RedrivePolicy` | **string** | Политика перенаправления сообщений в [Dead Letter Queue](../../concepts/dlq.md). Тип исходной очереди и очереди DLQ должны быть одинаковыми: для очередей FIFO очередь DLQ тоже должна быть очередью FIFO. Включает два параметра: <ul><li>`deadLetterTargetArn` — ARN очереди, в которую будут перенаправляться сообщения. ARN очереди можно получить с помощью вызова метода [GetQueueAttributes](GetQueueAttributes.md).</li><li>`maxReceiveCount` — максимальное количество попыток считывания сообщения из очереди перед перенаправлением в DLQ. Когда значение параметра `ReceiveCount` у сообщения превышает значение `maxReceiveCount`, сообщение перенаправляется в DLQ.</li></ul>
`VisibilityTimeout` | **integer** | [Таймаут видимости](../../concepts/visibility-timeout.md) сообщений в очереди в секундах. Возможные значения: от 0 до 43000 секунд. Значение по умолчанию: 30.

#### Атрибуты очередей FIFO {#fifo-path-parameters}

Атрибут | Описание
----- | -----
`FifoQueue` | Флаг, указывающий что создается [очередь FIFO](../../concepts/queue.md#fifo-queues). <p>Возможные значения: `true` или `false`.</p> <p>Если параметр не используется, будет создана стандартная очередь. Нельзя изменить параметр у уже созданной очереди. При использовании отправки сообщений в очередь FIFO необходимо явно указывать для них параметр `MessageGroupId`.</p>
`ContentBasedDeduplication` | Флаг, включающий [дедупликацию по содержимому сообщения](../../concepts/deduplication.md#content-based-deduplication). Возможные значения: `true` или `false`.

#### Неподдерживаемые атрибуты {#non-supported-attributes}

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

#### Метки {#tags}

Подробнее о [метках очереди](../../concepts/tags.md).

## Ответ {#response}

### Поля успешного ответа {#response-parameters}

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

### Ошибки CreateQueue {#errors}

Перечень общих для всех методов ошибок смотрите в разделе [Стандартные ошибки](../common-errors.md).

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

## Пример запроса {#request-example}

```
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](../index.md#api-request).

## Пример ответа {#response-example}

```xml
<CreateQueueResponse>
    <CreateQueueResult>
        <QueueUrl>
            https://message-queue.ydb.yandexcloud.kz/b1g8ad42m6he********/dj6000000000********/sample-queue
        </QueueUrl>
    </CreateQueueResult>
    <ResponseMetadata>
        <RequestId>
            e4c69a67-f2809a49-6b326386-14d2a08-af8eb419750efa1dbcabf184********
        </RequestId>
    </ResponseMetadata>
</CreateQueueResponse>
```