Как можно запустить aws лямбда локально (java) для тестирования

Как можно запускать aws лямбда локально (java) для тестирования.

Мне удалось найти некоторую информацию для node, но не для java.

Ответы

Ответ 2

AFAIK нет никакой магии для фактического запуска лямбда-функции локально. Взгляните на: http://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-req-resp.html
и
http://docs.aws.amazon.com/lambda/latest/dg/java-gs.html

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

Если вы не делаете это для модульного тестирования, не имеет смысла преодолевать проблему. Если вы делаете это для тестирования, вам, вероятно, придется издеваться над другими внешними службами AWS, которые могут использовать ваши лямбды.

Ответ 3

Для тех, кто пытается локально тестировать Python, мы создали для этого инструмент:

https://github.com/sportarchive/aws-lambda-python-local

Он позволяет запускать, тестировать и развертывать ваши функции в Lambda с помощью Makefile. Довольно удобно.

веселит nico

Ответ 4

Вы можете использовать AWS Toolkit для Eclipse, если вы хотите выполнить локальное тестирование функций Amazon Lambda и создать безсерверные приложения в Amazon.

Но с 11 августа 2017 года Amazon предоставляет AWS SAM Local, инструмент CLI, который позволяет нам локально тестировать и отлаживать наши функции AWMS Lambda. SAM Local поддерживает функции Lambda, написанные в Node.js, Java и Python.

Проголосуйте за поддержку Intellij IDEA для Amazon Lambda здесь:

Ответ 6

Выполняется целый ряд проектов для запуска всего пакета AWS локально.

Java Я считаю, что основным вариантом является Localstack

Если вы на Javascript, вы можете пойти Serverless

Ответ 7

Лично я считаю, что загрузка кода довольно быстро и очень доступная для запуска тестов (1 миллион мс /1 ГБ оперативной памяти стоит менее 2 центов).

Для Java есть несколько идей здесь.

Для Node.js/JavaScript, посмотрите lambda-local project (подробнее здесь).