CreateQueue#

Description#

Создаёт новую стандартную очередь. Можно передать один или несколько атрибутов при создании очереди.

Когда очередь с указанным именем уже существует, SQS возвращает успешный ответ, если переданные в запросе атрибуты совпадают с атрибутами существующей очереди. Если атрибуты не совпадают, возвращается ошибка.

Request Syntax#

POST / HTTP/1.1
Content-type: application/json

{
    "Name": "string",
    "Attributes": {
        "VisibilityTimeout": "string",
        "DelaySeconds": "string",
        "MaximumMessageSize": "string",
        "MessageRetentionPeriod": "string",
        "ReceiveMessageWaitTimeSeconds": "string",

    }
}

Request Parameters#

Необходимые параметры#

  • Name — Имя новой очереди.

    • Тип: String

    • Необходимо: Да

    • Ограничения: Имя должно удовлетворять следующим требованиям:
      • Длина: 1-80 символов

      • Допустимые символы: Буквенно-цифровые символы, дефисы (-), и подчеркивания (_)

Опциональные параметры#

  • Attributes — Атрибуты очереди со значениями.

    • Тип: Object

    • Необходимо: Нет

Поддерживаемые атрибуты#

  • DelaySeconds — Время в секундах, на которое задерживается доставка всех сообщений в очереди.

    • Тип: String

    • Необходимо: Нет

    • Диапазон: От 0 до 900 (15 минут)

    • Значение по умолчанию: 0

  • MaximumMessageSize — Максимальный размер сообщения в байтах.

    • Тип: String

    • Необходимо: Нет

    • Диапазон: От 1024 до 262144

    • Значение по умолчанию: 1048576

  • MessageRetentionPeriod — Время в секундах, в течение которого SQS хранит сообщение.

    • Тип: String

    • Необходимо: Нет

    • Диапазон: От 60 до 1209600 (14 дней)

    • Значение по умолчанию: 345600 (4 дня)

  • ReceiveMessageWaitTimeSeconds — Время ожидания в секундах для режима длительного опроса.

    • Тип: String

    • Необходимо: Нет

    • Диапазон: От 0 до 20

    • Значение по умолчанию: 0

  • VisibilityTimeout — Время в секундах, в течение которого сообщение остаётся невидимым после получения.

    • Тип: String

    • Необходимо: Нет

    • Диапазон: От 0 до 43200 (12 часов)

    • Значение по умолчанию: 30

Response Syntax#

HTTP/1.1 200
Content-type: application/json

{
    "Name": "string",
    "Url": "string"
}

Response Elements#

  • Name — Имя созданной очереди.

    • Тип: String

  • Url — URL созданной очереди.

    • Тип: String

Errors#

  • InvalidParameterValue — Недопустимое значение параметра.

  • QueueDeletedRecently — Очередь с таким именем была недавно удалена.

  • QueueNameExists — Очередь с таким именем уже существует и имеет другие атрибуты.

Examples#

boto3
 import boto3

 session = boto3.Session(
    aws_access_key_id="<AWS_ACCESS_KEY_ID>",
    aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>",
    region_name="",
 )

 sqs_client = session.client(
    'sqs',
    endpoint_url='https://sqs.ru-msk.k2.cloud/'
 )

 response = sqs_client.create_queue(
     QueueName='my-standard-queue',
     Attributes={
         'VisibilityTimeout': '60',
         'MessageRetentionPeriod': '86400'
     }
 )

 print(f"Queue: {response['QueueUrl']}")
aws-cli
 aws sqs --endpoint https://sqs.ru-msk.k2.cloud/ create-queue \\
     --queue-name my-standard-queue \\
     --attributes VisibilityTimeout=60,MessageRetentionPeriod=86400