Подключение AWS Lambda Version/Alias к API Gateway Stage для управления версиями API?
Конечная цель
Соедините лямбда-версию AWS / псевдоним с этапом API Gateway для управления версиями API. Например, стадия API Gateway 1.0.1 (www.host.com/api/1.0.1/ alive) будет подключаться к опубликованной версии или псевдониму lambda 1.0.1. В идеале это можно сделать с помощью AWS SAM или CloudFormation, чтобы я мог обновить данный стек и иметь все опубликованные версии API. Чего я бы хотел избежать, так это иметь шаблон CloudFormation, который содержит ресурс для каждой опубликованной версии API. Я не собираюсь использовать это для разделения сред (stage/dev/prod), если это имеет значение.
Что я пробовал
В настоящее время я делаю следующее:
- Загрузка zip-файла с исходным кодом на S3 с версией выпуска
- Создание новой лямбда-функции, в которой псевдоним == версия выпуска, а затем URI для исходного кода - это zip-файл из шага 1.
Создание нового этапа в API Gateway, который затем указывает на арн с псевдонимом:
arn:aws:lambda:region:account-id:function:function-name:alias-name
Как я уже сказал, я бы хотел, чтобы это было более автоматизированным и простым в управлении с помощью шаблона CloudFormation, но мне не хватает знаний в CloudFormation для реализации такой функции. Как вы можете себе представить, это стало утомительным и неэффективным способом управления нашими API. Будем очень благодарны за любые советы по автоматизации этого процесса с помощью шаблонов CloudFormation и / или AWS Sam.