如何在本地运行aws lambda(java)进行测试。
我能够找到节点的一些信息,但不能找到java。
答案 0 :(得分:8)
AFAIK实际上无法在本地触发lambda函数。看看: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
根据你的lambda代码构建输入和(可能是上下文)所需的内容,并将它们传递给编写自己的小测试包装器的函数。
除非你这样做进行单元测试,否则解决问题是没有意义的。如果您正在进行测试,则可能需要模拟lambda可能使用的其他外部AWS服务。
答案 1 :(得分:4)
对于那些使用Python进行本地测试的人,我们为此创建了一个工具:
https://github.com/sportarchive/aws-lambda-python-local
它允许您使用Makefile运行,测试和部署函数到Lambda。非常方便。
欢呼声 尼科
答案 2 :(得分:2)
如果要对Amazon Lambda函数执行本地测试,并在Amazon中构建无服务器应用程序,则可以将AWS Toolkit用于 Eclipse 。
但是自2017年8月11日起,亚马逊提供AWS SAM Local,这是一个CLI工具,允许我们在本地测试和调试我们的AWS Lambda功能。 SAM Local支持用Node.js,Java和Python编写的Lambda函数。
请投票,以便在此处实施 Intellij IDEA 对Amazon Lambda的支持:
答案 3 :(得分:2)
SAM本地 - http://docs.aws.amazon.com/lambda/latest/dg/test-sam-local.html 和 docker-lambda - https://github.com/lambci/docker-lambda适用于只需要javaee和项目源的API。 我仍在试图弄清楚如何设置类路径以包含gradle依赖项。
答案 4 :(得分:1)
答案 5 :(得分:0)
我一直在使用这些docker镜像https://github.com/lambci/docker-lambda
答案 6 :(得分:0)
如果您使用的是IntelliJ,则有aws-toolkit
-https://plugins.jetbrains.com/plugin/11349-aws-toolkit/
它工作得很好,您可以设置环境变量等。这将要求您在本地计算机上运行docker。虽然不是很友好的内存。
如果您使用的是无服务器,则可以执行sls offline
。