SendMessage
In this article:
SendMessage#
Description#
Отправляет сообщение в указанную очередь.
Request Syntax#
POST / HTTP/1.1
Content-type: application/json
{
"QueueUrl": "string",
"MessageBody": "string",
"DelaySeconds": integer
}
Request Parameters#
Необходимые параметры#
MessageBody — Тело отправляемого сообщения.
Тип: String
Необходимо: Да
Ограничения: Минимальная длина — 1 байт. Максимальная длина определяется атрибутом очереди MaximumMessageSize
QueueUrl — URL очереди, в которую отправляется сообщение.
Тип: String
Необходимо: Да
Опциональные параметры#
DelaySeconds — Время в секундах для задержки доставки сообщения.
Тип: Integer
Необходимо: Нет
Диапазон: От 0 до 900 (15 минут)
Значение по умолчанию: Если не указано, используется значение по умолчанию из атрибута очереди DelaySeconds
Response Syntax#
HTTP/1.1 200
Content-type: application/json
{
"MD5OfMessageBody": "string",
"MessageId": "string"
}
Response Elements#
MD5OfMessageBody — MD5-дайджест тела сообщения.
Тип: String
MessageId — Уникальный идентификатор отправленного сообщения.
Тип: String
Errors#
InvalidMessageContents — Недопустимое содержимое сообщения.
InvalidParameterValue — Недопустимое значение параметра (например, размер сообщения превышает максимальный размер сообщения для очереди MaximumMessageSize).
UnsupportedOperation — Операция не поддерживается для данного типа очереди.
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.send_message(
QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
MessageBody='Hello from SQS!'
)
print(f"Message ID: {response['MessageId']}")
print(f"MD5: {response['MD5OfMessageBody']}")
boto3 - With Delay
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.send_message(
QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
MessageBody='Delayed message',
DelaySeconds=60
)
aws-cli
aws sqs --endpoint https://sqs.ru-msk.k2.cloud/ send-message \\
--queue-url https://sqs.ru-msk.k2.cloud/123456789012/my-queue \\
--message-body "Hello from SQS!"