繁体   English   中英

将 Java 函数作为 AWS Lambda 函数运行

[英]Running a Java function as an AWS Lambda function

我创建了以下 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 函数。 那么接下来呢? 特别是消息“此函数包含外部库。上传新文件将覆盖这些库。” 让我困惑。 我只想让 lambda 函数在 cloudwatch 事件发生时执行。
另外,当我最终让它运行时,我在哪里可以看到 System.out.println 命令的输出?

您需要告诉 Lambda 您的处理程序函数的名称是什么。 在 Java 中,您可以通过以下两种方式之一来表明这一点:

  1. 作为package.class::method ,例如: com.mycompany.HelloWorld::handleRequest
  2. 作为package.class ,例如: com.mycompany.HelloWorld

目前尚不清楚 Lambda 如何推断 #2 中的处理程序方法的名称(例如,如果有两个处理程序方法)。 它可能只是在寻找handleRequest或者它可能以某种方式使用反射。

您的 Lambda 函数输出的任何内容都将发送到 CloudWatch Logs。 您可以从 Lambda 函数的监控选项卡到达那里(或者您可以简单地打开 CloudWatch Logs 控制台并从那里导航)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM