我创建了以下java类
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.Context;
public class SayHello implements RequestHandler<Request, Response> {
public Response handleRequest(Request request, Context context)
{
System.out.println("Running lambda function 123abc");
return new Response("Lambda says hello");
}
}
我将它捆绑到一个名为myjar.jar的jar中,并通过我的AWS控制台创建了一个lambda函数
我选择了Java 8运行时,上传了我的jar,所以现在坚持下一步做什么。我创建了一个Cloudwatch 事件,该事件由启动EC2实例触发,并将此事件的目标添加为我的Lambda函数。接下来呢?特别是消息&#34;该函数包含外部库。上传新文件将覆盖这些库。&#34;困惑我 我只想在cloudwatch事件发生时让lambda函数执行 另外,当我最终运行时,我在哪里可以看到System.out.println命令的输出?
答案 0 :(得分:0)
您需要告诉Lambda处理函数的名称是什么。在Java中,您可以通过以下两种方式之一来指出:
com.mycompany.HelloWorld::handleRequest
com.mycompany.HelloWorld
目前尚不清楚Lambda如何推断#2中处理程序方法的名称(例如,如果有两个处理程序方法)。它可能只是在寻找handleRequest
,或者它可能以某种方式使用反射。
Lambda函数输出的任何内容都将发送到CloudWatch Logs。您可以从Lambda函数的Monitoring选项卡到达那里(或者您只需打开CloudWatch Logs控制台并从那里导航)。