Ответ 1
Я использую эти образы докера https://github.com/lambci/docker-lambda
Как можно запускать aws лямбда локально (java) для тестирования.
Мне удалось найти некоторую информацию для node, но не для java.
Я использую эти образы докера https://github.com/lambci/docker-lambda
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, которые могут использовать ваши лямбды.
Для тех, кто пытается локально тестировать Python, мы создали для этого инструмент:
https://github.com/sportarchive/aws-lambda-python-local
Он позволяет запускать, тестировать и развертывать ваши функции в Lambda с помощью Makefile. Довольно удобно.
веселит nico
Вы можете использовать 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 здесь:
SAM Local - http://docs.aws.amazon.com/lambda/latest/dg/test-sam-local.html а также docker-lambda - https://github.com/lambci/docker-lambda хорошо зарекомендовали себя для API, которым нужны только javaee и источники проекта. Я все еще пытаюсь понять, как установить, чтобы путь к классу включал зависимости gradle.
Выполняется целый ряд проектов для запуска всего пакета AWS локально.
Java Я считаю, что основным вариантом является Localstack
Если вы на Javascript, вы можете пойти Serverless
Лично я считаю, что загрузка кода довольно быстро и очень доступная для запуска тестов (1 миллион мс /1 ГБ оперативной памяти стоит менее 2 центов).
Для Java есть несколько идей здесь.
Для Node.js/JavaScript, посмотрите lambda-local project (подробнее здесь).