使用 Go 建置 Lambda 函數 - AWS Lambda

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

使用 Go 建置 Lambda 函數

Go 的實作方式與其他受管執行期不同。由於 Go 原生編譯為可執行二進製文件,因此它不需要專用的語言運行時。使用僅限作業系統的執行階段 (provided執行階段系列) 將 Go 函數部署至 Lambda。

Go 執行期支援

已取代 Lambda 的 Go 1.x 受管理執行階段。如果您有使用 Go 1.x 執行階段的函數,則必須將函數移轉至provided.al2023provided.al2provided.al2023provided.al2執行階段相比,執行階段具有多項優勢go1.x,包括支援 arm64 架構 (AWS Graviton2 處理器)、較小的二進位檔案,以及稍快的叫用時間。

本次遷移不需要變更任何程式碼。唯一必須做出的變更與建置部署套件的方式以及用來建立函數的執行期有關。如需詳細資訊,請參閱AWS 運算部落格上的 Amazon Linux 2 將 AWS Lambda 函數從 Go1.x 執行階段移轉至自訂執行階段

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

僅限作業系統的執行期

provided.al2023

Amazon Linux 2023

僅限作業系統的執行期

provided.al2

Amazon Linux 2

工具與程式庫

Lambda 為 Go 執行時間提供以下工具和程式庫:

有關詳細資訊,請參閱中aws-lambda-go的 GitHub。

Lambda 為 Go 執行時間提供下列範例應用程式:

以 Go 編寫的範例 Lambda 應用程式
  • go-al2:傳回公有 IP 地址的「hello world」函數。此應用程式使用 provided.al2 自訂執行期。

  • 空白移動 — Go 函數,顯示 Lambda 的 Go 程式庫、記錄、環境變數和 SDK 的使用方式 AWS 。此應用程式使用 go1.x 執行期。