使用 Java 建置 Lambda 函數 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Java 建置 Lambda 函數

您可以在 AWS Lambda中執行 Java 程式碼。Lambda 提供用於執行程式碼來處理事件的 Java 執行期。您的程式碼會在 Amazon Linux 環境中執行,其中包含您管理之 (IAM) AWS Identity and Access Management 角色的 AWS 憑證。

Lambda 支援以下 Java 執行期。

名稱 識別符 作業系統 取代日期 封鎖函數建立 封鎖函數更新

Java 21

java21

Amazon Linux 2023

未排程

未排程

未排程

Java 17

java17

Amazon Linux 2

未排程

未排程

未排程

Java 11

java11

Amazon Linux 2

未排程

未排程

未排程

Java 8

java8.al2

Amazon Linux 2

未排程

未排程

未排程

Lambda 提供下列適用於 Java 函數的程式庫:

重要

請勿使用 JDK 的私有元件API,例如私有欄位、方法或類別。任何更新都可以變更或移除非公有API元件,導致應用程式中斷。

若要建立 Lambda 函數
  1. 開啟 Lambda 主控台

  2. 選擇建立函數

  3. 進行下列設定:

    • 函數名稱:輸入函數名稱。

    • 執行期 :選擇 Java 21

  4. 選擇建立函數

  5. 若要設定測試事件,請選擇 Test (測試)

  6. 事件名稱輸入 test

  7. 選擇 Save changes (儲存變更)。

  8. 若要調用函數,請選擇 Test (測試)。

主控台將建立一個 Lambda 函數,它具有名為 Hello 的處理常式類別。由於 Java 是一種編譯語言,因此您無法在 Lambda 主控台中檢視或編輯原始碼,但可以修改其組態,加以調用,並設定觸發條件。

注意

若要在本機環境中開始應用程式開發,請部署本指南 GitHub 儲存庫中可用的其中一個範例應用程式

Hello 類別有一個名為 handleRequest 的函式,其接受事件物件與內容物件。這就是在調用函數時,Lambda 呼叫的處理常式函數。Java 函數執行期會從 Lambda 取得調用事件並其傳遞至處理常式。在函式組態中,處理常式值為 example.Hello::handleRequest

若要更新函數的程式碼,您可建立部署套件,這是包含函數程式碼的 ZIP 封存檔。隨著函式開發的進展,您需要將函式程式碼存放於原始碼控制系統、加入程式庫並進行自動化部署。首先,透過命令列建立部署套件並更新您的程式碼。

除了傳遞調用事件外,函式執行期還會傳遞內容物件至處理常式。內容物件包含了有關調用、函式以及執行環境的額外資訊。更多詳細資訊將另由環境變數提供。

您的 Lambda 函數隨附 CloudWatch Logs 日誌群組。函數執行期會將每次調用的詳細資訊傳送至 CloudWatch Logs。它在調用期間會轉送您的函數輸出的任何記錄。如果您的函數傳回錯誤,Lambda 會對該錯誤進行格式化之後傳回給調用端。