web-dev-qa-db-de.com

wie würde man aws Lambda lokal (Java) zum Testen ausführen

Wie würde man aws lambda lokal (Java) zum Testen ausführen? 

Ich konnte einige Informationen für Knoten finden, aber nicht für Java.

19
Joyce

Ich habe diese Docker-Images verwendet https://github.com/lambci/docker-lambda

0
Joyce

AFAIK, es ist kein Zauber, die Lambda-Funktion lokal auszulösen. Sehen Sie sich folgendes an: http://docs.aws.Amazon.com/lambda/latest/dg/Java-programming-model-req-resp.html
und
http://docs.aws.Amazon.com/lambda/latest/dg/Java-gs.html

Abhängig von Ihrem Lambda-Code müssen Sie die Eingabe und ggf. den Kontext erstellen und an die Funktion übergeben, die Ihren eigenen kleinen Testwrapper schreibt. 

Wenn Sie dies nicht für Komponententests durchführen, ist es nicht sinnvoll, die Probleme durchzugehen. Wenn Sie dies zu Testzwecken durchführen, müssen Sie wahrscheinlich andere externe AWS-Dienste ausspucken, die Ihr Lambda möglicherweise verwendet.

6
Mircea

Für diejenigen, die lokal mit Python testen möchten, haben wir ein Werkzeug dafür erstellt:

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

Sie können damit Ihre Funktionen mit einem Makefile ausführen, testen und für Lambda bereitstellen. Ziemlich praktisch.

prostnico 

4
koxon

Sie können AWS Toolkit für Eclipse verwenden, wenn Sie lokale Tests für Amazon Lambda-Funktionen durchführen und serverlose Anwendungen in Amazon erstellen möchten. 

Seit dem 11. August 2017 bietet Amazon jedoch AWS SAM Local an, ein CLI-Tool, mit dem wir unsere AWS Lambda-Funktionen lokal testen und debuggen können. SAM Local unterstützt Lambda-Funktionen, die in Node.js, Java und Python geschrieben sind. 

Bitte stimmen Sie für die Implementierung von Intellij IDEA Unterstützung für Amazon Lambda hier:

2
MarcG

Es gibt eine Reihe von Projekten, die den gesamten AWS-Stack lokal ausführen.

Java Ich glaube, die Hauptoption ist Localstack

Wenn Sie Javascript haben, können Sie Serverless

1
Mrk Fldig

SAM Local - http://docs.aws.Amazon.com/lambda/latest/dg/test-sam-local.html Und Docker-lambda - https: // github .com/lambci/docker-lambda haben gut für APIs funktioniert, die nur Javaee- und Projektquellen benötigen .. Ich versuche immer noch herauszufinden, wie der Klassenpfad so eingestellt werden kann, dass er die Abstufungsabhängigkeiten enthält. 

1
asokan