subscribe
Описание
Подписывает конечную точку на тему Amazon SNS. Если тип конечной точки — HTTP/S или электронная почта, или если конечная точка и тема находятся в разных учетных записях Amazon Web Services, владелец конечной точки должен выполнить действие ConfirmSubscription для подтверждения подписки.
Вы вызываете действие ConfirmSubscription с маркером из ответа на подписку. Маркеры подтверждения действительны в течение двух дней.
Это действие ограничено 100 транзакциями в секунду (TPS).
См. также: Документация API AWS
Синтаксис
subscribe
--topic-arn <value>
--protocol <value>
[--attributes <value>]
[--return-subscription-arn | --no-return-subscription-arn]
[--notification-endpoint <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 (строка)
--protocol (строка)
Протокол, который вы хотите использовать. Поддерживаемые протоколы включают:
-
http— доставка JSON-кодированных сообщений через HTTP POST -
https— доставка JSON-кодированных сообщений через HTTPS POST -
email— доставка сообщений через SMTP -
email-json— доставка JSON-кодированных сообщений через SMTP -
sms— доставка сообщений через SMS -
sqs— доставка JSON-кодированных сообщений в очередь Amazon SQS -
application— доставка JSON-кодированных сообщений в EndpointArn для мобильного приложения и устройства -
lambda— доставка JSON-кодированных сообщений в функцию Lambda -
firehose— доставка JSON-кодированных сообщений в поток доставки Amazon Kinesis Data Firehose.
--attributes (массив)
Массив атрибутов со значениями.
Ниже приведены имена, описания и значения специальных параметров запроса, которые использует действие Subscribe:
-
DeliveryPolicy— политика, определяющая, как Amazon SNS повторяет неудачные доставки в конечные точки HTTP/S. -
FilterPolicy— простой JSON-объект, позволяющий подписчику получать только подмножество сообщений, а не каждое сообщение, опубликованное в теме. -
FilterPolicyScope— этот атрибут позволяет выбрать область фильтрации, используя один из следующих типов строковых значений:-
MessageAttributes(по умолчанию) — фильтр применяется к атрибутам сообщения. -
MessageBody— фильтр применяется к телу сообщения.
-
-
RawMessageDelivery— при установке в значениеtrue, позволяет передавать сообщения в сыром виде в Amazon SQS или конечные точки HTTP/S. Это устраняет необходимость для конечных точек в обработке форматирования JSON, которое в противном случае создается для метаданных Amazon SNS. -
RedrivePolicy— при указании отправляет недоставленные сообщения в указанную мертвую очередь Amazon SQS. Сообщения, которые не могут быть доставлены из-за ошибок клиента (например, когда подписная конечная точка недоступна) или ошибок сервера (например, когда сервис, питающий подписную конечную точку, становится недоступным), хранятся в мертвой очереди для дальнейшего анализа или повторной обработки.
Следующий атрибут применим только к подпискам на потоки доставки Amazon Data Firehose:
-
SubscriptionRoleArn— ARN роли IAM, имеющей следующие:- Разрешение на запись в поток Firehose
- Amazon SNS в качестве доверенного субъекта
Указание допустимого ARN для этого атрибута обязательно для подписок потоков Firehose. Дополнительные сведения см. в разделе «Распределение по потокам доставки Firehose» в руководстве разработчика Amazon SNS.
Следующие атрибуты применяются только к темам FIFO:
-
ReplayPolicy— добавляет или обновляет встроенный документ политики для подписки на воспроизведение сообщений, хранящихся в указанной теме Amazon SNS. -
ReplayStatus— извлекает состояние воспроизведения сообщений подписки, которое может быть одним из следующих:-
Completed— воспроизведение успешно повторно доставило все сообщения и теперь предоставляет вновь опубликованные сообщения. Если конечная точка была указана вReplayPolicy, подписка больше не будет получать вновь опубликованные сообщения. -
In progress— воспроизведение в настоящее время воспроизводит выбранные сообщения. -
Failed— воспроизведение не смогло завершиться. -
Pending— состояние по умолчанию во время инициирования воспроизведения.
-
ключ -> (строка)
значение -> (строка)
Сокращенный синтаксис:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--return-subscription-arn | --no-return-subscription-arn (булево)
Определяет, включает ли ответ на запрос Subscribe ARN подписки, даже если подписка еще не подтверждена.
Если вы установите этот параметр в значение true, ответ включает ARN во всех случаях, даже если подписка еще не подтверждена. В дополнение к ARN для подтвержденных подписок, ответ также включает значение ARN pending subscription для подписок, которые еще не подтверждены. Подписка подтверждается, когда подписчик вызывает действие ConfirmSubscription с маркером подтверждения.
Значение по умолчанию — false.
--notification-endpoint (строка)
Конечная точка, на которую вы хотите получать уведомления. Конечные точки различаются по протоколам:
- Для протокола
http(общедоступная) конечная точка — это URL, начинающийся сhttp://. - Для протокола
https(общедоступная) конечная точка — это URL, начинающийся сhttps://. - Для протокола
emailконечная точка — это адрес электронной почты. - Для протокола
email-jsonконечная точка — это адрес электронной почты. - Для протокола
smsконечная точка — это номер телефона устройства, поддерживающего SMS. - Для протокола
sqsконечная точка — это ARN очереди Amazon SQS. - Для протокола
applicationконечная точка — это EndpointArn мобильного приложения и устройства. - Для протокола
lambdaконечная точка — это ARN функции Lambda. - Для протокола
firehoseконечная точка — это ARN потока доставки Amazon Kinesis Data Firehose.
--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 (булево)
Включить отладочную запись в журнал.
--endpoint-url (строка)
Переопределить URL по умолчанию команды указанным URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при взаимодействии с сервисами AWS. Для каждого соединения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для использования при фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет параметры конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить вывод цвета.
- on
- off
- auto
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружаться, если этот аргумент указан.
--ca-bundle (строка)
Файл с набором сертификатов CA для использования при проверке SSL-сертификатов. Переопределяет параметры конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. По умолчанию используется формат 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 (булево)
Отключить вывод страницы CLI.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры входных данных CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросов параметров входных данных CLI.
Примеры
Примечание
Чтобы использовать следующие примеры, у вас должна быть установлена и настроена AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, во всех примерах используются правила кавычек, аналогичные unix-подобным. Эти примеры необходимо будет адаптировать к правилам кавычек вашей консоли. См. Раздел "Использование кавычек со строками" в Руководстве пользователя AWS CLI.
Для подписки на тему
Следующая команда subscribe подписывает адрес электронной почты на указанную тему.
aws sns subscribe \
--topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \
--protocol email \
--notification-endpoint my-email@example.com
Вывод:
{
"SubscriptionArn": "pending confirmation"
}
Вывод
SubscriptionArn -> (строка)
ReturnSubscriptionArn имеет значение true, значение всегда будет ARN подписки, даже если подписка требует подтверждения.
© Copyright 2025, Amazon Web Services. Created using Sphinx.