Spec-Zone.ru › AWS CLI v2

[ aws . sns ]

publish-batch

Описание

Опубликуйте до десяти сообщений в указанную тему. Это пакетная версия Publish. Для тем FIFO несколько сообщений в одной пакетной отправке публикуются в порядке их отправки, и сообщения дублируются внутри пакета и между пакетами в течение 5 минут.

Результат публикации каждого сообщения сообщается индивидуально в ответе. Поскольку пакетный запрос может привести к комбинации успешных и неудачных действий, вы должны проверять ошибки пакета даже тогда, когда вызов возвращает код состояния HTTP 200.

Максимальный разрешенный размер отдельного сообщения и максимальный общий размер полезной нагрузки (сумма отдельных длин всех сообщения, включенных в пакет), составляют 256 КБ (262 144 байта).

Некоторые действия принимают списки параметров. Эти списки определяются с помощью обозначения param.n. Значения n — это целые числа, начиная с 1. Например, список параметров с двумя элементами выглядит следующим образом:

&AttributeName.1=first

&AttributeName.2=second

Если вы отправляете пакетное сообщение в тему, Amazon SNS публикует это пакетное сообщение каждому получателю, подписанному на эту тему. Формат пакетного сообщения зависит от протокола уведомления для каждого подписанного получателя.

Когда возвращается messageId, пакетное сообщение сохраняется, и Amazon SNS немедленно отправляет сообщение подписчикам.

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

Синтаксис

  publish-batch
--topic-arn <value>
--publish-batch-request-entries <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]

Параметры

--topic-arn (строка)

Идентификатор ресурса Amazon (ARN) темы, в которую вы хотите опубликовать пакетное сообщение.

--publish-batch-request-entries (список)

Список элементов запроса PublishBatch, которые должны быть отправлены в тему SNS.

(структура)

Содержит подробности одного сообщения Amazon SNS вместе с Id, который идентифицирует сообщение в пакете.

Id -> (строка)

Идентификатор сообщения в этом пакете.

Примечание

Ids пакетного запроса должны быть уникальными в рамках одного запроса.

Этот идентификатор может содержать до 80 символов. Допускаются следующие символы: буквенно-цифровые символы, дефисы (-) и символы подчеркивания (_).

Message -> (строка)

Тело сообщения.

Subject -> (строка)

Тема пакетного сообщения.

MessageStructure -> (строка)

Установите MessageStructure на json, если вы хотите отправить разные сообщения для каждого протокола. Например, с помощью одного действия публикации вы можете отправить короткое сообщение подписчикам SMS и более длинное сообщение подписчикам электронной почты. Если вы установите MessageStructure на json, значение параметра Message должно:

  • быть синтаксически корректным JSON-объектом; и
  • содержать хотя бы один JSON-ключ верхнего уровня «default» со строковым значением.

Вы можете определить другие ключи верхнего уровня, которые определяют сообщение, которое вы хотите отправить в определенный протокол передачи (например, http).

MessageAttributes -> (массив)

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

Name -> (строка)

Value -> (структура)

Указанное пользователем значение атрибута сообщения. Для строковых типов данных атрибут value имеет те же ограничения на содержимое, что и тело сообщения. Дополнительную информацию см. в разделе Публикация .

Имя, тип и значение не должны быть пустыми или null. Кроме того, тело сообщения не должно быть пустым или null. Все части атрибута сообщения, включая имя, тип и значение, включены в ограничение размера сообщения, которое в настоящее время составляет 256 КБ (262 144 байта). Дополнительную информацию см. в руководстве разработчика Amazon SNS.

DataType -> (строка)

Amazon SNS поддерживает следующие логические типы данных: Строка, Массив строк, Число и Двоичный. Дополнительную информацию см. в разделе Типы данных атрибутов сообщений.

StringValue -> (строка)

Строки — это Unicode с двоичным кодированием UTF8. Список кодовых значений см. в разделе ASCII-печать.

BinaryValue -> (бинарный)

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

MessageDeduplicationId -> (строка)

Этот параметр применим только к темам FIFO (первый вошел, первый вышел).

  • Этот параметр применим только к темам FIFO (первый вошел, первый вышел). MessageDeduplicationId может содержать до 128 буквенно-цифровых символов (a-z, A-Z, 0-9) и знаков препинания (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).
  • Каждое сообщение должно иметь уникальный MessageDeduplicationId, который является маркером, используемым для предотвращения дублирования отправленных сообщений в течение 5-минутного минимального интервала дублирования.
  • Область действия дублирования зависит от атрибута FifoThroughputScope. Если он установлен на Topic, область действия дублирования сообщений распространяется на всю тему. Если он установлен на MessageGroup, область действия дублирования сообщений ограничена каждой отдельной группой сообщений.
  • Если сообщение с конкретным MessageDeduplicationId отправлено успешно, последующие сообщения в пределах области и интервала дублирования с тем же MessageDeduplicationId принимаются успешно, но не доставляются.
  • Каждое сообщение должно иметь уникальный MessageDeduplicationId.
    • Вы можете указать MessageDeduplicationId явно.
    • Если вы не можете указать MessageDeduplicationId и вы включили ContentBasedDeduplication для вашей темы, Amazon SNS использует хеш SHA-256 для генерации MessageDeduplicationId, используя тело сообщения (но не атрибуты сообщения).
    • Если вы не указываете MessageDeduplicationId, а тема не имеет ContentBasedDeduplication заданным, действие завершается с ошибкой.
    • Если в теме задан ContentBasedDeduplication, ваш MessageDeduplicationId переопределяет сгенерированный.
  • Когда ContentBasedDeduplication активен, сообщения с одинаковым содержимым, отправленные в пределах области и интервала дублирования, считаются дубликатами, и доставляется только одна копия сообщения.
  • Если вы отправляете одно сообщение с включенным ContentBasedDeduplication, а затем другое сообщение с MessageDeduplicationId, которое идентично сгенерированному для первого сообщения MessageDeduplicationId, два сообщения считаются дубликатами в пределах области и интервала дублирования, и доставляется только одна копия сообщения.

Примечание

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

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

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

MessageGroupId -> (строка)

Этот параметр применим только к темам FIFO (первый вошел, первый вышел).

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

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

Длина MessageGroupId составляет 128 символов.

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

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

MessageGroupId требуется для тем FIFO. Вы не можете использовать его для стандартных тем.

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

Id=string,Message=string,Subject=string,MessageStructure=string,MessageAttributes={KeyName1={DataType=string,StringValue=string,BinaryValue=blob},KeyName2={DataType=string,StringValue=string,BinaryValue=blob}},MessageDeduplicationId=string,MessageGroupId=string ...

Синтаксис JSON:

[
  {
    "Id": "string",
    "Message": "string",
    "Subject": "string",
    "MessageStructure": "string",
    "MessageAttributes": {"string": {
          "DataType": "string",
          "StringValue": "string",
          "BinaryValue": blob
        }
      ...},
    "MessageDeduplicationId": "string",
    "MessageGroupId": "string"
  }
  ...
]

--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 V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, 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.

Вывод

Успешно -> (список)

Список успешных PublishBatch ответов.

(структура)

Охватывает данные, связанные с успешным сообщением в пакетном запросе для темы.

Id -> (строка)

Идентификатор записи в пакетном запросе.

MessageId -> (строка)

Идентификатор сообщения.

SequenceNumber -> (строка)

Этот параметр применим только к темам FIFO (первым вошел, первым вышел).

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

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

Неуспешно -> (список)

Список неуспешных PublishBatch ответов.

(структура)

Предоставляет подробное описание неудачных сообщений в пакетном запросе.

Id -> (строка)

Идентификатор записи в пакетном запросе

Code -> (строка)

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

Message -> (строка)

Сообщение, объясняющее, почему действие завершилось ошибкой для данной записи.

SenderFault -> (boolean)

Указывает, произошла ли ошибка из-за вызывающего приложения пакетного API-действия.

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

Spec-Zone.ru

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