AWS 无服务器 Java Lambda 调试
Posted
技术标签:
【中文标题】AWS 无服务器 Java Lambda 调试【英文标题】:AWS Serverless Java Lambda Debug 【发布时间】:2019-01-21 17:07:22 【问题描述】:请告诉我是否可以在 Eclipse 中调试 Java AWS Lambda(无服务器框架)。任何指针都会很有帮助
【问题讨论】:
【参考方案1】:如果您准备离开 Eclipse,我知道有一些有趣的定制解决方案正在开发用于实时无服务器调试。 Rookout 就是一个例子
【讨论】:
【参考方案2】:你会想看看AWS Sam。基本上,您创建一个运行应用程序的 yaml 文件,附加到进程,并使用 Sam CLI 在您的代码中发送事件。
从this github可以看出,一个很简单的yaml文件是:
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: A simple hello world Java 8 function
Resources:
HelloWorld:
Type: AWS::Serverless::Function
Properties:
Runtime: java8
Handler: your.package.here.YourLambdaHandler
CodeUri: ./target/your.jar
【讨论】:
AWS 产品文档的贫乏/缺乏总是让我感到惊讶。我一直在寻找一个小时,我发现的只是使用 CodeStar 中的应用程序的教程,但没有关于一切实际如何工作以及如何设置它。【参考方案3】:我假设你打算在本地调试它。
您需要aws-sam-cli
工具,可以使用sam local
命令在本地运行 lambda。
sam local start-api -d 5858
和端口 5858 将用于调试目的。
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging.html
这里有一个示例如何使用 Eclipse 执行此操作。 https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/tke-sam-local.html#debug-lam-function-locally
【讨论】:
以上是关于AWS 无服务器 Java Lambda 调试的主要内容,如果未能解决你的问题,请参考以下文章
使用无服务器和 chrome-aws-lambda 节点包在 AWS Lambda 上找不到 Chrome 二进制文件
无服务器/AWS-Lambda 设置的 graphiql UI 损坏
AWS Lambda&Fargate 无服务底层技术是如何实现的