API-интерфейс на AWS Lambda - PullRequest
0 голосов
/ 30 мая 2018

Контекст: У меня есть сценарий использования, в котором мой бэкэнд-сервис должен вычислять 1 или более объектов, где каждая функция представляет собой простое вычисление (может быть так же просто, как добавление двух чисел), и каждая функция принимает вводи возвращает выходное значение, которое может быть логическим или числом.Клиент может фактически запрашивать функции (1 или 10 и т. Д.), Также каждая функция может иметь несколько версий.

Дизайн: Лямбда-функция кажется хорошим выбором, поскольку она поддерживает управление версиями и заботится омасштабирование.В моем проекте одна лямбда-функция получит запрос, а затем вызовет дополнительные лямбда-функции параллельно (скажем, пользователь запросил 12 функций, лямбда-функция L1 будет параллельно вызывать 12 лямбда-функций) и вернет все вычисленные значения функций как один ответ (HTTP)).Таким образом, все функции могут быть версиями в своих собственных лямбда-функциях.

Вопросы: Можно ли вызывать лямбда-функцию напрямую из другой лямбда-функции?Это хороший пример использования лямбда-функций?

Спасибо

1 Ответ

0 голосов
/ 30 мая 2018

Я думаю, что Lambda отлично подойдет для вашего случая использования.Для управления версиями вы можете использовать управление версиями API, предоставляемое API Gateway, но я думаю, что это немного для вашего случая.Просто создайте различные функции.

Оформление serverless.com .Это прочная основа, с которой легко начать.Его настройка займет большую часть работы, плюс вы будете иметь свою инфраструктуру в виде кода.

Да, можно вызывать лямбды из других лямбд.Однако не существует «чистого» способа сделать это.С другой стороны, «пошаговые функции» могут быть тем, что вам нужно.Цепные функции лямбда-поддержки в рабочем процессе.Предыдущая лямбда не столько «вызывает» следующую функцию, сколько переходит к следующему шагу в рабочем процессе.Инфраструктура Serverless также поддерживает использование метода и может быть настроена в файле конфигурации serverless.yml

...