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 -> (строка)
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 -> (строка)
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 -> (строка)
MD5OfMessageAttributes -> (строка)
MD5OfMessageSystemAttributes -> (строка)
MessageId -> (строка)
MessageId отправленного сообщения в очередь. Дополнительную информацию см. в разделе Идентификаторы очередей и сообщений в Руководстве разработчика Amazon SQS.SequenceNumber -> (строка)
Этот параметр применяется только к очередям FIFO (первым вошел — первым вышел).
Большое, несмежное число, которое Amazon SQS присваивает каждому сообщению.
Длина SequenceNumber составляет 128 бит. SequenceNumber продолжает увеличиваться для конкретного MessageGroupId.
© Copyright 2025, Amazon Web Services. Created using Sphinx.