Spec-Zone.ru › AWS CLI v2

[ aws . sqs ]

send-message

Описание

Доставляет сообщение в указанную очередь.

Предупреждение

Сообщение может содержать только XML, JSON и неформатированный текст. Разрешены следующие символы Юникода. Для получения дополнительной информации см. спецификацию W3C для символов.

#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Amazon SQS не генерирует исключение и не отклоняет сообщение полностью, если оно содержит недопустимые символы. Вместо этого он заменяет эти недопустимые символы на U+FFFD перед сохранением сообщения в очереди, если тело сообщения содержит хотя бы один допустимый символ.

См. также: Документация API AWS

Синтаксис

  send-message
--queue-url <value>
--message-body <value>
[--delay-seconds <value>]
[--message-attributes <value>]
[--message-system-attributes <value>]
[--message-deduplication-id <value>]
[--message-group-id <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--queue-url (строка)

URL очереди Amazon SQS, в которую отправляется сообщение.

URL и имена очереди чувствительны к регистру.

--message-body (строка)

Отправляемое сообщение. Минимальный размер — один символ. Максимальный размер — 256 КБ.

Предупреждение

Сообщение может содержать только XML, JSON и неформатированный текст. Разрешены следующие символы Юникода. Дополнительную информацию см. в спецификации W3C для символов.

#x9 | #xA | #xD | #x20 до #xD7FF | #xE000 до #xFFFD | #x10000 до #x10FFFF

Если сообщение содержит недопустимые символы, Amazon SQS не генерирует исключение и не отклоняет сообщение полностью. Вместо этого он заменяет эти недопустимые символы на U+FFFD перед сохранением сообщения в очереди, при условии, что тело сообщения содержит хотя бы один допустимый символ.

--delay-seconds (целое число)

Время отсрочки отправки конкретного сообщения в секундах. Допустимые значения: от 0 до 900. Максимальное значение: 15 минут. Сообщения с положительным значением DelaySeconds станут доступными для обработки после окончания периода отсрочки. Если значение не указано, используется значение по умолчанию для очереди.

Примечание

При установке FifoQueue , вы не можете установить DelaySeconds для каждого сообщения. Этот параметр можно задать только на уровне очереди.

--message-attributes (словарь)

Каждое атрибут сообщения состоит из Name , Type и Value . Дополнительную информацию см. в разделе Атрибуты сообщений Amazon SQS в Руководстве разработчика Amazon SQS.

ключ -> (строка)

значение -> (структура)

Значение атрибута сообщения, заданное пользователем. Для строковых типов данных атрибут Value имеет те же ограничения на содержание, что и тело сообщения. Дополнительную информацию см. в « SendMessage ».

Name , type , value и тело сообщения не должны быть пустыми или равными null. Все части атрибута сообщения, включая Name , Type и Value , входят в ограничение размера сообщения (256 КБ или 262 144 байта).

StringValue -> (строка)

Строки — это Юникод с двоичным кодированием UTF-8. Список кодовых значений см. в ASCII Печатные символы.

BinaryValue -> (двоичные данные)

Атрибуты двоичного типа могут хранить любые двоичные данные, такие как сжатые данные, зашифрованные данные или изображения.

StringListValues -> (список)

Не реализовано. Зарезервировано для будущего использования.

(строка)

BinaryListValues -> (список)

Не реализовано. Зарезервировано для будущего использования.

(двоичные данные)

DataType -> (строка)

Amazon SQS поддерживает следующие логические типы данных: String , Number и Binary . Для типа данных Number необходимо использовать StringValue .

Вы также можете добавить пользовательские метки. Дополнительную информацию см. в разделе Атрибуты сообщений Amazon SQS в Руководстве разработчика Amazon SQS.

Краткая синтаксическая запись:

KeyName1=StringValue=string,BinaryValue=blob,StringListValues=string,string,BinaryListValues=blob,blob,DataType=string,KeyName2=StringValue=string,BinaryValue=blob,StringListValues=string,string,BinaryListValues=blob,blob,DataType=string

Синтаксис JSON:

{"string": {
      "StringValue": "string",
      "BinaryValue": blob,
      "StringListValues": ["string", ...],
      "BinaryListValues": [blob, ...],
      "DataType": "string"
    }
  ...}

--message-system-attributes (словарь)

Атрибут системного сообщения для отправки. Каждый атрибут системного сообщения состоит из Name , Type и Value .

Предупреждение

  • В настоящее время поддерживается только один атрибут системы сообщений — AWSTraceHeader . Его тип должен быть String , а значение — правильно отформатированная строка заголовка трассировки X-Ray.
  • Размер атрибута системного сообщения не учитывается при подсчете общего размера сообщения.

ключ -> (строка)

значение -> (структура)

Значение атрибута системного сообщения, заданное пользователем. Для строковых типов данных атрибут Value имеет те же ограничения на содержание, что и тело сообщения. Дополнительную информацию см. в « SendMessage ».

Name , type , value и тело сообщения не должны быть пустыми или равными null.

StringValue -> (строка)

Строки — это Юникод с двоичным кодированием UTF-8. Список кодовых значений см. в ASCII Печатные символы.

BinaryValue -> (двоичные данные)

Атрибуты двоичного типа могут хранить любые двоичные данные, такие как сжатые данные, зашифрованные данные или изображения.

StringListValues -> (список)

Не реализовано. Зарезервировано для будущего использования.

(строка)

BinaryListValues -> (список)

Не реализовано. Зарезервировано для будущего использования.

(двоичные данные)

DataType -> (строка)

Amazon SQS поддерживает следующие логические типы данных: String , Number и Binary . Для типа данных Number необходимо использовать StringValue .

Вы также можете добавить пользовательские метки. Дополнительную информацию см. в разделе Атрибуты сообщений Amazon SQS в Руководстве разработчика Amazon SQS.

Краткая синтаксическая запись:

  KeyName1=StringValue=string,BinaryValue=blob,StringListValues=string,string,BinaryListValues=blob,blob,DataType=string,KeyName2=StringValue=string,BinaryValue=blob,StringListValues=string,string,BinaryListValues=blob,blob,DataType=string

Where valid key names are:
  AWSTraceHeader

Синтаксис JSON:

{"AWSTraceHeader": {
      "StringValue": "string",
      "BinaryValue": blob,
      "StringListValues": ["string", ...],
      "BinaryListValues": [blob, ...],
      "DataType": "string"
    }
  ...}

--message-deduplication-id (строка)

Этот параметр применяется только к очередям FIFO (первым вошел — первым вышел).

Маркер, используемый для исключения дублирования отправленных сообщений. Если сообщение с конкретным MessageDeduplicationId успешно отправлено, любые сообщения, отправленные с тем же MessageDeduplicationId, успешно принимаются, но не доставляются в течение 5-минутного интервала дублирования. Дополнительную информацию см. в разделе Обработка точно один раз в Руководстве разработчика Amazon SQS.

  • Каждое сообщение должно иметь уникальный MessageDeduplicationId,
    • Вы можете явно указать MessageDeduplicationId.
    • Если вы не можете указать MessageDeduplicationId и включите ContentBasedDeduplication для своей очереди, Amazon SQS использует хэш SHA-256 для генерации MessageDeduplicationId, используя тело сообщения (но не атрибуты сообщения).
    • Если вы не указываете MessageDeduplicationId и в очереди не задано ContentBasedDeduplication, действие завершается с ошибкой.
    • Если в очереди задано ContentBasedDeduplication, ваш MessageDeduplicationId переопределяет сгенерированный.
  • Когда ContentBasedDeduplication активен, сообщения с одинаковым содержимым, отправленные в течение интервала дублирования, обрабатываются как дубликаты, и доставляется только одна копия сообщения.
  • Если вы отправляете одно сообщение с включенным ContentBasedDeduplication, а затем другое сообщение с MessageDeduplicationId, которое совпадает с сгенерированным для первого MessageDeduplicationId, оба сообщения считаются дубликатами, и доставляется только одна копия сообщения.

Примечание

MessageDeduplicationId доступен потребителю сообщения (это может быть полезно для устранения неполадок с доставкой).

Если сообщение отправлено успешно, но подтверждение потеряно, и сообщение повторно отправляется с тем же MessageDeduplicationId после интервала дублирования, Amazon SQS не может обнаружить дублируемые сообщения.

Amazon SQS продолжает отслеживать идентификатор дублирования сообщения даже после получения и удаления сообщения.

Максимальная длина MessageDeduplicationId составляет 128 символов. MessageDeduplicationId может содержать буквенно-цифровые символы (a-z , A-Z , 0-9 ) и знаки препинания (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ).

Рекомендации по использованию MessageDeduplicationId см. в разделе Использование свойства MessageDeduplicationId в Руководстве разработчика Amazon SQS.

--message-group-id (строка)

Этот параметр применяется только к очередям FIFO (первым вошел — первым вышел).

Метка, указывающая, что сообщение принадлежит к определенной группе сообщений. Сообщения, принадлежащие к одной группе сообщений, обрабатываются в порядке FIFO (однако сообщения в разных группах сообщений могут обрабатываться вне очереди). Чтобы чередовать несколько упорядоченных потоков в одной очереди, используйте значения MessageGroupId (например, данные сеанса для нескольких пользователей). В этом случае несколько потребителей могут обрабатывать очередь, но данные сеанса каждого пользователя обрабатываются в порядке FIFO.

  • Вы должны связать ненулевое MessageGroupId с сообщением. Если вы не указываете MessageGroupId, действие завершается с ошибкой.
  • ReceiveMessage может возвращать сообщения с несколькими значениями MessageGroupId . Для каждого MessageGroupId сообщения сортируются по времени отправки. Вызывающая сторона не может указать MessageGroupId.

Максимальная длина MessageGroupId составляет 128 символов. Допустимые значения: буквенно-цифровые символы и знаки препинания (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

Рекомендации по использованию MessageGroupId см. в разделе Использование свойства MessageGroupId в Руководстве разработчика Amazon SQS.

Предупреждение

MessageGroupId требуется для очередей FIFO. Его нельзя использовать для стандартных очередей.

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, предоставленные JSON. Передавать произвольные двоичные значения с помощью JSON-значения не представляется возможным, так как строка будет интерпретироваться буквально. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если не указано значение или указано значение input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, при указании значения yaml-input он выведет пример входного YAML, который можно использовать с --cli-input-yaml. При указании значения output он проверит входные данные команды и вернет пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантии обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (boolean)

Включить отладку логирования.

--endpoint-url (string)

Переопределить URL команды по умолчанию на указанный URL.

--no-verify-ssl (boolean)

По умолчанию, AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.

--no-paginate (boolean)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (string)

Стиль форматирования вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

Запрос JMESPath для фильтрации данных ответа.

--profile (string)

Использование определенного профиля из файла учетных данных.

--region (string)

Регион для использования. Переопределяет настройки из конфигурации/среды.

--version (string)

Отображение версии этого инструмента.

--color (string)

Включение/выключение цветного вывода.

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.

--ca-bundle (string)

Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/среды.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (string)

Стиль форматирования для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Отключить пагинатор CLI для вывода.

--cli-auto-prompt (boolean)

Автоматически запросить параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматический запрос параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, во всех примерах используются правила цитирования, подобные Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.

Отправка сообщения

В этом примере отправляется сообщение с указанным телом сообщения, периодом задержки и атрибутами сообщения в указанную очередь.

Команда:

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --message-body "Information about the largest city in Any Region." --delay-seconds 10 --message-attributes file://send-message.json

Файл ввода (send-message.json):

{
  "City": {
    "DataType": "String",
    "StringValue": "Any City"
  },
  "Greeting": {
    "DataType": "Binary",
    "BinaryValue": "Hello, World!"
  },
  "Population": {
    "DataType": "Number",
    "StringValue": "1250800"
  }
}

Вывод:

{
  "MD5OfMessageBody": "51b0a325...39163aa0",
  "MD5OfMessageAttributes": "00484c68...59e48f06",
  "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE"
}

Вывод

MD5OfMessageBody -> (строка)

MD5-хеш тела сообщения без URL-кодирования. Вы можете использовать этот атрибут для проверки правильности получения сообщения Amazon SQS. Amazon SQS декодирует сообщение по URL перед созданием MD5-хеша. Дополнительную информацию о MD5 см. в RFC1321.

MD5OfMessageAttributes -> (строка)

MD5-хеш атрибутов сообщения без URL-кодирования. Вы можете использовать этот атрибут для проверки правильности получения сообщения Amazon SQS. Amazon SQS декодирует сообщение по URL перед созданием MD5-хеша. Дополнительную информацию о MD5 см. в RFC1321.

MD5OfMessageSystemAttributes -> (строка)

MD5-хеш системных атрибутов сообщения без URL-кодирования. Вы можете использовать этот атрибут для проверки правильности получения сообщения Amazon SQS. Amazon SQS декодирует сообщение по URL перед созданием MD5-хеша.

MessageId -> (строка)

Атрибут, содержащий MessageId отправленного сообщения в очередь. Дополнительную информацию см. в разделе Идентификаторы очередей и сообщений в Руководстве разработчика Amazon SQS.

SequenceNumber -> (строка)

Этот параметр применяется только к очередям FIFO (первым вошел — первым вышел).

Большое, несмежное число, которое Amazon SQS присваивает каждому сообщению.

Длина SequenceNumber составляет 128 бит. SequenceNumber продолжает увеличиваться для конкретного MessageGroupId.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API