Эта статья также полезна для любого случая использования, когда вы хотите добавить/изменить/удалить что-то из 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

Теперь вам нужно только добавить свою логику для загрузки переводов, развернуть бессерверный проект и подключить веб-хук к вашей конечной точке.