Эта статья также полезна для любого случая использования, когда вы хотите добавить/изменить/удалить что-то из AWS S3 после запуска вашей конечной точки. Идеальный вариант использования — когда вы хотите обновлять файлы переводов после каждого обновления в службе локализации.
Итак, сначала давайте напишем, как мы хотим спроектировать архитектуру AWS для этого.
- Лямбда-функция — эта функция будет отвечать за загрузку и обновление переводов на s3.
- Шлюз API — создаст конечную точку из функции Lambda.
- Корзина S3 — в ней будут храниться файлы перевода.
Вам необходимо установить serverless по этой инструкции: https://www.serverless.com/framework/docs/getting-started/.
После этого у вас в проекте должно быть 3 файла (важные — handler.js и serverless.yml). Перейдите на serverless.yml, а сейчас я покажу вам то, чего вы не найдете в документации.
Ниже вы можете увидеть, как разрешить использование S3 Bucket с помощью Lambda и как передать имя S3 Bucket в функцию Lambda.
Теперь давайте перейдем к handler.js
Теперь вам нужно только добавить свою логику для загрузки переводов, развернуть бессерверный проект и подключить веб-хук к вашей конечной точке.