Lambda 部署套件 - AWS Lambda

Lambda 部署套件

您的 AWS Lambda 函數的程式碼由指令碼或編譯程式及其相依項所組成。使用部署套件將函數程式碼部署到 Lambda。Lambda 支援兩種類型的部署套件:容器映像和 .zip 封存檔。

容器映像

容器映像包括基礎作業系統、執行時間、Lambda 延伸項目、您的應用程式的程式碼及其相依項。您還可以將靜態資料 (如機器學習模型) 新增至映像。

Lambda 提供一組開源基礎映像,您可以將其用於建置容器映像。若要建立和測試容器映像,您可以使用 AWS Serverless Application Model (AWS SAM) 命令列界面 (CLI) 或原生容器工具,例如 Docker CLI。

您可以將容器映像上傳至 Amazon Elastic Container Registry (Amazon ECR),即受管 AWS 容器映像登錄服務。若要將映像部署至您的函數,您可以使用 Lambda 主控台、Lambda API、命令列工具或 AWS 開發套件來指定 Amazon ECR 映像 URL。

如需有關 Lambda 容器映像的詳細資訊,請參閱 建立 Lambda 容器映像

.zip 封存檔

.zip 封存檔包含您的應用程式的程式碼及其相依項。當您使用 Lambda 主控台或工具組撰寫函數時,Lambda 會自動建立程式碼的 .zip 封存檔。

當您透過 Lambda API、命令列工具或 AWS 開發套件建立函數時,您必須建立部署套件。如果您的函數使用編譯的語言,或將相依項新增至函數,您還必須建立部署套件。若要部署函數的程式碼,您可以從 Amazon Simple Storage Service (Amazon S3) 或本機電腦上傳部署套件。

您可以使用 Lambda 主控台、AWS Command Line Interface (AWS CLI) 或 Amazon Simple Storage Service (Amazon S3) 儲存貯體將 .zip 檔案作為部署套件進行上傳。

使用 Lambda 主控台

下列步驟示範如何使用 Lambda 主控台將 .zip 檔案上傳為您的部署套件。

若要在 Lambda 主控台中上傳 .zip 檔案

  1. 開啟 Lambda 主控台中的 Functions (函數) 頁面。

  2. 選取函數。

  3. Code Source (程式碼來源) 窗格中,選擇 Upload from (上傳來源),然後選擇 .zip file (.zip 檔案)。

  4. 選擇 Upload (上傳) 以選取您的本機 .zip 檔案。

  5. 選擇 Save (儲存)。

使用 AWS CLI

您可以使用 AWS Command Line Interface (AWS CLI) 將 .zip 檔案上傳為您的部署套件。如需語言的專屬說明,請參閱以下主題。

Node.js

使用 .zip 封存檔部署 Node.js Lambda 函數

Python

使用 .zip 封存檔部署 Python Lambda 函數

Ruby

使用 .zip 封存檔部署 Ruby Lambda 函數

Java

使用 .zip 或 JAR 封存檔部署 Java Lambda 函數

Go

使用 .zip 封存檔部署 Go Lambda 函數

C#

使用 .zip 封存檔部署 C# Lambda 函數

PowerShell

使用 .zip 封存檔部署 PowerShell Lambda 函數

使用 Amazon S3

您可以使用 Amazon Simple Storage Service (Amazon S3) 將 .zip 檔案作為部署套件進行上傳。如需詳細資訊,請參閱 使用其他 AWS 服務來建置部署套件

Layer

如果您使用 .zip 封存檔來部署函數程式碼,可以使用 Lambda 層作為程式庫、自訂執行時間和其他函數相依項的分配機制。Layer 讓您能夠單獨管理開發中的函數程式碼,與不會再變動的程式碼及函數所使用的資源分開。您可以將函數設定為使用您所建立的 Layer、由 AWS 提供的 Layer ,或是由其他 AWS 客戶提供的 Layer。

請勿將 Layer 與容器映像一起使用。而是在您建置映像時,將偏好的執行時間、程式庫和其他相依項封裝為容器映像。

如需有關 Layer 的詳細資訊,請參閱 建立和共用 Lambda 層

使用其他 AWS 服務來建置部署套件

下一節描述了您可以用來封裝 Lambda 函數相依性的其他 AWS 服務。

使用 C 或 C ++ 程式庫的部署套件

如果您的部署套件包含原生程式庫,您可以使用 AWS Serverless Application Model(AWS SAM)。您可以將 AWS SAM CLI sam build 命令搭配 --use-container 使用來建立您的部署套件。此選項會在與 Lambda 執行環境相容的 Docker 映像內建置部署套件。

如需詳細資訊,請參閱 AWS Serverless Application Model 開發人員指南中的 sam 建置

超過 50 MB 的部署套件

如果您的部署套件大於 50 MB,建議您將函數程式碼和相依項上傳至 Amazon S3 儲存貯體。

您可以建立部署套件並將 .zip 檔案上傳至 AWS 區域 (您想要在其中建立 Lambda 函數) 中的 Amazon S3 儲存貯體。當您建立 Lambda 函數時,請在 Lambda 主控台中指定 S3 儲存貯體名稱和物件金鑰名稱,或使用 AWS CLI。

若要使用 Amazon S3 主控台建立儲存貯體,請參閱《Amazon Simple Storage Service 主控台使用者指南》中的如何建立 S3 儲存貯體?