Поиск по сайту:

Управление темами AWS SNS с помощью aws-cli


На этой странице

  1. Предварительные условия
  2. Что будем делать?
  3. Проверьте клиентский интерфейс aws и экспортируйте доступ и секретный ключ aws на свой локальный компьютер.
  4. Управление темами SNS с помощью aws-cli
  5. Заключение

Очень легко создавать темы SNS, подписки и выполнять другие операции с темами SNS из терминала с помощью утилиты aw-cli. В этой статье я покажу вам команды для создания темы SNS, подписки, подтверждения и удаления подписки с помощью aws-cli. Предполагается, что вы уже знакомы с сервисом AWS SNS.

Чтобы узнать об операциях, которые можно выполнять с темами SNS с помощью утилиты командной строки aws-cli, посетите официальную документацию здесь.

Предпосылки

  1. Аккаунт AWS  (создайте , если у вас его нет).
  2. Основные сведения о темах социальных сетей (нажмите здесь, чтобы научиться создавать темы социальных сетей с помощью Terraform).
  3. Основные сведения о подписке на социальные сети.
  4. Пользователь AWS IAM с помощью создать пользователя IAM).
  5. AWS CLI установлен на вашем локальном компьютере.

Что мы будем делать?

  1. Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
  2. Управление темами SNS с помощью aws cli.

Проверьте aws cli и экспортируйте доступ и секретный ключ aws на свой локальный компьютер.

Если у вас нет aws-cli, обратитесь к официальной документации здесь, чтобы установить его на свой локальный компьютер, а затем проверьте его версию с помощью следующей команды.

aws --version

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

aws sts get-caller-identity

Экспортируйте пользовательский доступ и секретные ключи AWS IAM на свой терминал с помощью следующих команд.

export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>

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

aws sts get-caller-identity

Управление темами SNS с помощью aws-cli

Давайте проверим темы SNS, которые у нас есть в нашем текущем регионе.

aws sns list-topics

Чтобы просто создать тему SNS, выполните следующую команду. При желании вы можете указать любое другое имя.

aws sns create-topic --name my-sns-topic-by-cli

При создании темы SNS мы также можем указать для нее теги. Вы даже можете указать несколько тегов одновременно.

aws sns create-topic --name my-sns-topic-by-cli-with-tag --tags Key=env,Value=test

Перечислите темы, и на этот раз вы увидите вновь созданные темы.

aws sns list-topics

Вы также можете проверить атрибуты конкретной темы SNS, указав ее арн. Чтобы получить суть темы, сначала перечислите темы, а затем скопируйте суть нужной темы.

aws sns list-topics
aws sns get-topic-attributes --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli

Вы можете проверить все подписки в текущем регионе с помощью следующей команды.

aws sns list-subscriptions

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

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli --protocol email --notification-endpoint <email-id>@<domain>
aws sns list-subscriptions

После создания подписки вы получите электронное письмо с подтверждением. Подписку можно подтвердить, нажав на ссылку, указанную в письме, или использовать токен для подтверждения из интерфейса командной строки. Скопируйте адрес ссылки для получения токена с нее, мы увидим команду для подтверждения подписки из терминала.

Адрес ссылки для подтверждения будет содержать токен, как показано ниже. Скопируйте его для подтверждения из CLI.

Чтобы подтвердить подписку с помощью aws-cli, используйте следующую команду и укажите в ней тему-arn и токен.

aws sns list-subscriptions
aws sns confirm-subscription --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli --token 2336412f37fb687f5d51e6e2425e90ccf51427f70d347f743e373ed99c34222d699f93426571175db9bc0b81296ae69f53a889e1fbd11571c642308353d4648c67a2851b17a7f3cc1b7e1aaccae0881c5855df5d37bcae458305855d98fcd012d1ed4728a2064c6425b77b00e62b8d4fcf7fcccfb212d6850e3fa450c25cdf9a
aws sns list-subscriptions

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

aws sns list-subscriptions
aws sns unsubscribe --subscription-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli:cde0b12a-437c-49da-ab25-bc467701156d
aws sns list-subscriptions

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

aws sns list-topics
aws sns delete-topic --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli
  614  aws sns list-topics

Заключение

В этой статье мы рассмотрели шаги по созданию темы SNS, подписки, подтверждения подписки. Мы также увидели, как можно удалить подписку и тему SNS с помощью команды aws-cli.