Полоса Это отличная платформа для запуска онлайн-бизнеса, особенно из-за разработчиков, ориентированного на API, которая позволяет легко собирать платежи, создавать подписки и многое другое.
Многие из этих API приводят к полосу генерируют одно или несколько событий, которые вы можете подписаться через веб -ookook. Эти события могут представлять успешный платеж или, возможно, новый абонент на вашей платформе SaaS. В общей сложности более 100 различных типов событий. Как мы можем сделать этот безверенным?
Легко, мы будем использовать AWS EventBridge.
Почему AWS EventBridge?
Для тех из вас, что вы просто узнаете о AWS Eventbridge, это бессмертный автобус для событий, поддерживающую архитектуры, выпущенные в июле 2019 года. Автобус событий является центральным расположением, где могут быть опубликованы деловые мероприятия, а правила маршрутизации могут быть настроены для отправки этих событий в функции или услуги или услуги, которые работают на них. Используя автобус событий в качестве промежуточного слоя, этому элементам предотвращает необходимость прямых знаний о том, как общаться друг с другом, что позволяет команды разработчики создавать и действовать независимо.
Одной из причин, среди многих, почему AWS EventBridge следует рассмотреть, это стоимость. С AWS EventBridge у вас есть полностью управляемая облачная сумма, не требующая усилий и никаких серверов для оплаты — и стоит очень разумно 1 доллар за миллион событий. Задержка, как правило, около половины секунды. Собираясь с полностью управляемым решением, вы экономите свою команду от проведения времени на «недифференцированную тяжелую подъемную», связанную с инфраструктурой, давая им больше времени на сосредоточенность на доставке стоимости клиента.
Решение
Мы покажем здесь, как мы можем настроить AWS EventBridge, чтобы он мог начать глотать события с полосой. В рамках этого приема приема мы проверяем, что событие действительно от полосы, подтверждая подпись на мероприятии. Давайте начнем.
Используя проект с открытым исходным кодом, который мы создали под названием SLIPE-EventBridge, вы можете быстро настроить сантехнику для подключения полосовых событий для AWS EventBridge через функцию лямбда, которая затем проверяет подлинность входящих событий (так что не будет к). Это позволяет для публикации событий, которые публикуются на мероприятий, который будет направлен на различные функции ниже по потоку с помощью простых правил маршрутизации, которые мы показываем в конце поста.
С этим развертываемым вы можете настроить множество Downstream Lambda функций для обработки широкого массива событий, сгенерированных по полоску, и настроить маршрутизацию к этим обработчикам событий с AWS EventBridge на основе типа события полосы. Все это без необходимости беспокоиться о подписеках событий, поскольку события размещаются только на EventBridge, если они пройдут проверку.
Slipe-EventBridge Проект создает конечную точку, которую вы настраиваете на панели инструментов полосы в качестве пункта назначения для событий веб -ook. Когда приходит событие, конечная точка призвана лямбда, которую мы предоставляем, в котором есть эти обязанности:
Чтобы подтвердить, что событие имеет действительную подпись (то есть. то, что она была сгенерирована по полоску)
Для размещения проверенных событий (только) на AWS EventBridge
Чтобы уведомить тему SNS, если событие не может подтвердить (например, из-за неверной подписи)
Обзор решения
Slipe-EventBridge использует Смертная рамка Для генерации инфраструктуры в разделе AWS диаграммы выше. Смертная рамка Позволяет автоматически создавать и развертывать стопки облака, необходимые для реализации вышеуказанной конфигурации. Стеки могут быть развернуты через развертывание SLS и откатываются через SLS удалить с помощью клиента командной строки.
Компоненты без сердца Serverless на Stripe-EventBridge
Давайте пройдемся через что Slipe-EventBridge Создает:
Лямбда — эта функция проверяет входящие события, и если они находятся на полосе (то есть.
Конечная точка шлюза API — это конечная точка веб -ookook, что лямбда выше прослушивает для новых событий.
Secretmanager AWS Secretmanager — этот секрет создан с пустым значением, и вы заполните это с помощью ключа подписания, назначенным на вашу конечную точку WebHook на панели инструментов полосы.
Тема SNS — если WebHook не удается валидация или обработку, то уведомление отправляется в тему, называемую Slipe-WebHook-event — не удалось проверить. Вы можете настроить подписки на эту тему, так что вы отправляетесь по электронной почте (например), когда событие не удается обработка.
Если вы хотите начать работу, вы можете посетить проект GitHub здесь:
https://github.com/rangle/stripe-eventbridge
Маршрутизация по типу события
Теперь, когда у вас есть события, публикуемые в EventBridge, вы можете настроить маршрутизацию на основе типа события, используя такие шаблоны правил. Значения деталей типа являются именно значениями основных полосовых событий — вы можете увидеть полный список здесь: https://stripe.com/docs/api/events/types.
{ "detail-type": [ "payment_intent.succeeded" ], "source": [ "Stripe" ] }
Альтернативно, если вы создаете обработчики событий с помощью Serverless Framework, вы можете объявить одинаковую маршруту в вашем инфраструктурном коде (это действительно хорошая практика) в вашем Serverless.yml следующим образом:
handler: handler.myLambdaFunction events: - eventBridge: pattern: source: - Stripe detail-type: - payment_intent.succeeded
И это все!
Я надеюсь, что вы нашли этот ценный. Оставайтесь настроиться, мы узнаем больше с помощью безвесочных в предстоящих постах.
Оригинал: «https://dev.to/rangle/connecting-stripe-events-to-the-aws-eventbridge-3o58»