Управление темами AWS SNS с помощью aws-cli
На этой странице
- Предварительные условия
- Что будем делать?
- Проверьте клиентский интерфейс aws и экспортируйте доступ и секретный ключ aws на свой локальный компьютер.
- Управление темами SNS с помощью aws-cli
- Заключение
Очень легко создавать темы SNS, подписки и выполнять другие операции с темами SNS из терминала с помощью утилиты aw-cli. В этой статье я покажу вам команды для создания темы SNS, подписки, подтверждения и удаления подписки с помощью aws-cli. Предполагается, что вы уже знакомы с сервисом AWS SNS.
Чтобы узнать об операциях, которые можно выполнять с темами SNS с помощью утилиты командной строки aws-cli, посетите официальную документацию здесь.
Предпосылки
- Аккаунт AWS (создайте , если у вас его нет).
- Основные сведения о темах социальных сетей (нажмите здесь, чтобы научиться создавать темы социальных сетей с помощью Terraform).
- Основные сведения о подписке на социальные сети.
- Пользователь AWS IAM с помощью создать пользователя IAM).
- AWS CLI установлен на вашем локальном компьютере.
Что мы будем делать?
- Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
- Управление темами 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.