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!"