簡體   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