Экономьте время и настройте уведомления Slack для своих интерфейсных проектов.
Amplify — отличный сервис для развертывания интерфейсных приложений в облаке AWS. Но когда дело доходит до мониторинга ваших развертываний, Amplify предоставляет только базовую систему уведомлений. Хотя он позволяет отправлять уведомления по электронной почте, отправка их на ваш канал Slack — нетривиальная задача.
В этой короткой статье раскрываются секреты, которые необходимо знать, чтобы настроить уведомления Slack для своих развертываний AWS Amplify менее чем за 5 минут.
Вот следующие шаги, которые вам нужно будет выполнить, чтобы это произошло:
- Настройте тему SNS
- Настройте Slack Incoming Webhook
- Создайте лямбда-функцию
1. Настройте тему SNS
В консоли AWS перейдите к Amplify.
Выберите приложение, в котором вы хотите настроить уведомления Slack.
Поскольку Amplify по умолчанию не создает тему SNS, нам нужно активировать это действие, добавив подписку на электронную почту к уведомлениям. Для этого перейдите в раздел «Уведомления» и добавьте свой адрес электронной почты.
Если вы не хотите получать электронные письма о развертываниях, вы можете сразу удалить подписку. Нам нужно было это, чтобы раскрыть тему SNS.
2. Настройте Slack Incoming Webhook
Следующим шагом будет настройка входящего веб-перехватчика в вашем Slack, который мы будем использовать для отправки сообщений. Подробнее об этом можно прочитать в официальном туториале.
Перейдите на эту страницу и нажмите Добавить в Slack.
После выбора канала, на который вы хотите публиковать уведомления, измените имя пользователя на «AWS Amplify», загрузите красивый логотип Amplify и сохраните настройки.
Скопируйте URL-адрес Webhook, он понадобится нам на следующем шаге.
3. Создайте лямбда-функцию
Теперь нам нужно создать лямбда-функцию, которая будет запускаться всякий раз, когда Amplify отправляет уведомление. Затем функция обработает событие уведомления и отправит сообщение на ваш канал Slack.
В консоли AWS перейдите к Lambda.
Выберите «Создать функцию» со следующими свойствами:
Передайте следующий код в файл index.js и нажмите «Развернуть»:
Измените значение webhookUrl на то, которое вы получили при создании Slack Incoming Webhook.
После этого нажмите «Добавить триггер» в обзоре функций.
Выберите SNS в качестве триггера, а затем выберите тему SNS, созданную AWS Amplify, когда мы добавили электронное письмо в уведомления.
Если все прошло хорошо, вы сможете найти только что установленную функцию на странице Lambda в AWS.
Вот и все! Теперь вы должны получать уведомления Slack при развертывании в AWS Amplify. Чтобы проверить, все ли работает правильно, перейдите в приложение Amplify и нажмите «Повторно развернуть эту версию».
Вскоре вы должны получить сообщение в Slack.
Я надеюсь, что это руководство помогло вам сэкономить время и настроить уведомления Slack для ваших интерфейсных проектов.