本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Java 建置 Lambda 函數
您可以在 AWS Lambda中執行 Java 程式碼。Lambda 提供用於執行程式碼來處理事件的 Java 執行期。您的程式碼會在 Amazon Linux 環境中執行,其中包含您管理之 (IAM) AWS Identity and Access Management 角色的 AWS 憑證。
Lambda 支援以下 Java 執行期。
名稱 | 識別符 | 作業系統 | 取代日期 | 封鎖函數建立 | 封鎖函數更新 |
---|---|---|---|---|---|
Java 21 |
|
Amazon Linux 2023 |
未排程 |
未排程 |
未排程 |
Java 17 |
|
Amazon Linux 2 |
未排程 |
未排程 |
未排程 |
Java 11 |
|
Amazon Linux 2 |
未排程 |
未排程 |
未排程 |
Java 8 |
|
Amazon Linux 2 |
未排程 |
未排程 |
未排程 |
Lambda 提供下列適用於 Java 函數的程式庫:
-
com.amazonaws:aws-lambda-java-core
(必要) – 定義處理常式方法介面,以及執行時間傳遞給處理常式的內容物件。如果您定義自己的輸入類型,這是您需要的唯一程式庫。 -
com.amazonaws:aws-lambda-java-events
– 叫用 Lambda 函數之服務的事件輸入類型。 -
com.amazonaws:aws-lambda-java-log4j2
– Apache Log4j 2 的附加程式庫,可用來將目前調用的請求 ID 新增至函數日誌 。 -
AWS SDK for Java 2.0
– Java 程式設計語言的官方 AWS SDK。
重要
請勿使用 JDK 的私有元件API,例如私有欄位、方法或類別。任何更新都可以變更或移除非公有API元件,導致應用程式中斷。
若要建立 Lambda 函數
-
開啟 Lambda 主控台
。 -
選擇建立函數。
-
進行下列設定:
-
函數名稱:輸入函數名稱。
-
執行期 :選擇 Java 21。
-
-
選擇建立函數。
-
若要設定測試事件,請選擇 Test (測試)。
-
事件名稱輸入
test
。 -
選擇 Save changes (儲存變更)。
-
若要調用函數,請選擇 Test (測試)。
主控台將建立一個 Lambda 函數,它具有名為 Hello
的處理常式類別。由於 Java 是一種編譯語言,因此您無法在 Lambda 主控台中檢視或編輯原始碼,但可以修改其組態,加以調用,並設定觸發條件。
注意
若要在本機環境中開始應用程式開發,請部署本指南 GitHub 儲存庫中可用的其中一個範例應用程式。
Hello
類別有一個名為 handleRequest
的函式,其接受事件物件與內容物件。這就是在調用函數時,Lambda 呼叫的處理常式函數。Java 函數執行期會從 Lambda 取得調用事件並其傳遞至處理常式。在函式組態中,處理常式值為 example.Hello::handleRequest
。
若要更新函數的程式碼,您可建立部署套件,這是包含函數程式碼的 ZIP 封存檔。隨著函式開發的進展,您需要將函式程式碼存放於原始碼控制系統、加入程式庫並進行自動化部署。首先,透過命令列建立部署套件並更新您的程式碼。
除了傳遞調用事件外,函式執行期還會傳遞內容物件至處理常式。內容物件包含了有關調用、函式以及執行環境的額外資訊。更多詳細資訊將另由環境變數提供。
您的 Lambda 函數隨附 CloudWatch Logs 日誌群組。函數執行期會將每次調用的詳細資訊傳送至 CloudWatch Logs。它在調用期間會轉送您的函數輸出的任何記錄。如果您的函數傳回錯誤,Lambda 會對該錯誤進行格式化之後傳回給調用端。