Вызвать функцию AWS Lambda с помощью запроса http
Можно ли вызвать функцию AWS Lambda напрямую с помощью HTTP-запроса (GET или POST)? Если нет, есть ли обходной путь через SNS или S3? Потому что я не могу думать об одном...
В частности, я хотел бы создать небольшой API с помощью JSON
Ответы
Ответ 1
AWS API Gateway - это единственный способ представить вашу лямбда-функцию через HTTP. Лямбда-веб-консоль AWS должна автоматически создать ее для вас, если вы используете план microservice-http-endpoint при создании новой лямбда-функции.
![enter image description here]()
Или вы можете установить его на следующем экране
![enter image description here]()
Или создайте его из веб-консоли AWS API Gateway.
![enter image description here]()
Вы также можете изучить возможность вызова по требованию с помощью SDK в своем клиенте, мобильном устройстве или веб-приложении. Больше информации здесь.
Ответ 2
Просто добавьте триггер в функцию лямбда, и вы уже можете отправить запросы GET или POST в ссылку, которая будет сгенерирована
Перейдите к вашей лямбда-функции и щелкните триггерную секцию
![Создайте триггер и установите защиту в]()
Ответ 3
Начиная с 28 ноября 2018 года, вы можете создать Интернет-интерфейс LoadBalancer с прослушивателем HTTP,
затем настройте балансировщик нагрузки так, чтобы Lambda была его целевой группой.
После создания балансировщика нагрузки вы можете использовать его DNS-имя в качестве конечной точки HTTP для отправки запросов в Lambda.
Подробнее здесь: https://aws.amazon.com/blogs/networking-and-content-delivery/lambda-functions-as-targets-for-application-load-balancers/
Ответ 4
Да, вы можете вызывать функцию AWS Lambda, используя метод HTTP POST, для этого вам нужно сделать sigv4 подписанный запрос с действительными учетными данными AWS IAM.
Я проверил это с помощью POSTMAN:
curl -X POST https://lambda.us-west-2.amazonaws.com/2015-03-31/functions/Function_NAME/invocations
Ссылка:
вызывать синтаксис
Ответ 5
Да, вы можете. Для этого существует API: Invoke