Использование AWS API для асинхронного вызова лямбда-функций [GOLANG] - PullRequest
0 голосов
/ 01 июля 2019

Я изучал документацию AWS о том, как вызывать лямбда-функции, и я сталкивался с различными способами сделать это. В основном, лямбда-вызов выполняется путем вызова функции Invoke(), которая может использоваться для вызова лямбда-функций синхронно или асинхронно.

В настоящее время я вызываю свои лямбда-функции через HTTP-запрос (как REST API), но HTTP-запрос истекает через 30 секунд, а асинхронные вызовы, насколько я знаю, через 15 минут.

Каковы преимущества, помимо времени, которое я уже упомянул, асинхронного лямбда-вызова по сравнению с вызовом лямбды с HTTP-запросом. Кроме того, каковы лучшие (рекомендуемые) способы вызывать лямбды в производстве? В документах AWS (SDK для Go - https://docs.aws.amazon.com/sdk-for-go/api/service/lambda/#InvokeAsyncInput) я вижу, что InvokeAsyncInput и InvokeAsyncOutput исключены. Поэтому мне интересно, как на самом деле будет выглядеть асинхронная реализация.

1 Ответ

2 голосов
/ 01 июля 2019

Лямбда на самом деле связана с управляемыми событиями вычислениями.Это означает, что лямбда всегда срабатывает в ответ на событие .Это событие может происходить из широкого спектра сервисов AWS , а также из CLI и SDK AWS.

Все эти события вызывают функцию Lambda и передают некоторую информацию в формеevent и context объект.Как выглядит это событие, зависит от службы, которая запустила лямбду.Вы можете найти больше информации о контексте в этой документации .

Не существует реального "лучшего" способа вызвать Lambda - это в основном зависит от вашего варианта использования - если вы создаетеwebservice, позвольте API Gateway вызывать Lambda для вас.Если вы хотите обрабатывать новые файлы на S3 - пусть S3 запускает Lambda.Если вы просто тестируете функцию Lambda, вы можете вызвать ее через CLI.Если у вас есть специальное программное обеспечение, которое должно запускать функцию Lambda, вы можете использовать SDK.Если вы хотите запускать Lambda по расписанию, настройте события CloudWatch ...

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

...