ChangeMessageVisibility#

Description#

Изменяет тайм-аут видимости сообщения в очереди. Тайм-аут видимости запускается заново с момента вызова метода.

Request Syntax#

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

{
    "QueueUrl": "string",
    "ReceiptHandle": "string",
    "VisibilityTimeout": integer
}

Request Parameters#

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

    • Тип: String

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

  • ReceiptHandle — Идентификатор сообщения, полученный при вызове ReceiveMessage.

    • Тип: String

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

  • VisibilityTimeout — Новый тайм-аут видимости в секундах.

    • Тип: Integer

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

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

Response Syntax#

HTTP/1.1 200
Content-type: application/json

{
    "Success": boolean
}

Response Elements#

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

    • Тип: Boolean

Errors#

  • InvalidParameterValue — Недопустимый идентификатор удаляемого сообщения или недопустимое значение тайм-аута видимости.

  • ReceiptHandleIsInvalid — Указанный идентификатор удаляемого сообщения недействителен.

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.receive_message(
    QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue'
)

if 'Messages' in response:
    message = response['Messages'][0]

    # Продлить тайм-аут видимости
    sqs_client.change_message_visibility(
        QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
        ReceiptHandle=message['ReceiptHandle'],
        VisibilityTimeout=120
    )
aws-cli
 aws sqs --endpoint https://sqs.ru-msk.k2.cloud/ change-message-visibility \\
     --queue-url https://sqs.ru-msk.k2.cloud/123456789012/my-queue \\
     --receipt-handle "AQEB..." \\
     --visibility-timeout 120