Экономьте время и настройте уведомления 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 для ваших интерфейсных проектов.