SetQueueAttributes#

Description#

Устанавливает значения одного или нескольких атрибутов очереди.

Request Syntax#

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

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

    }
}

Request Parameters#

  • Attributes — Устанавливаемые атрибуты очереди (см. Поддерживаемые атрибуты.

    • Тип: Object

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

  • QueueUrl — URL очереди.

    • Тип: String

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

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

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

    • Тип: String

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

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

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

    • Тип: String

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

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

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

    • Тип: String

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

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

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

    • Тип: String

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

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

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

    • Тип: String

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

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

Response Syntax#

HTTP/1.1 200
Content-type: application/json

{
    "Success": boolean
}

Response Elements#

  • Success — Результат операции.

    • Тип: Boolean

Errors#

  • InvalidParameterValue — Недопустимое значение параметра, либо атрибут не может быть изменён.

  • QueueDoesNotExist — Указанная очередь не существует.

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/'
 )

 sqs_client.set_queue_attributes(
     QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
     Attributes={
         'VisibilityTimeout': '120',
         'ReceiveMessageWaitTimeSeconds': '20'
     }
 )
aws-cli
 aws sqs --endpoint https://sqs.ru-msk.k2.cloud/ set-queue-attributes \\
     --queue-url https://sqs.ru-msk.k2.cloud/123456789012/my-queue \\
     --attributes VisibilityTimeout=120,ReceiveMessageWaitTimeSeconds=20