ChangeMessageVisibility
In this article:
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