通过无服务器框架调用本地调试java函数

问题描述 投票:0回答:1
我正在开发一个使用无服务器框架的项目,该框架使用 Java 编写并部署在 AWS 上。我能够将 lambda 函数部署到 AWS,并且还能够使用“无服务器调用本地”命令在本地运行它们。

我还没弄清楚如何附加和调试这个本地运行的函数。我没有看到任何有希望的命令行选项,并且 java 调用没有使用 $JAVA_OPTS 环境变量来配置它。

java amazon-web-services debugging aws-lambda serverless-framework
1个回答
0
投票
您可以使用

serverless-offline

 插件在本地运行代码

通过环境变量

JAVA_TOOL_OPTIONS

 提供您的 JDWP 代理字符串。请务必设置 suspend=y
,以确保您可以在函数完成执行之前连接调试器。有很多方法可以做到这一点 - 我建议使用 
serverless-dotenv
 插件。

例如:

cat >> .serverless/.env < EOF JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:3888 EOF sls offline --stage local --debug=*
根据

文档

,使用
JAVA_TOOL_OPTIONS应该可以在AWS中工作...但是您的里程可能会因隧道等而异。

© www.soinside.com 2019 - 2024. All rights reserved.