本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以 .zip 封存檔形式部署 Lambda 函數
當您建立 Lambda 函數時,可以將函數程式碼封裝到部署套件中。Lambda 支援兩種類型的部署套件:容器映像和 .zip 封存檔。建立函數的工作流程取決於部署套件類型。若要設定一個定義為容器映像的函數,請參閱使用容器映像檔建立 Lambda 函數。
您可以使用 Lambda 主控台和 Lambda 建立API以 .zip 檔案封存檔定義的函數。也可以上傳更新的 .zip 檔案來變更函數程式碼。
注意
您無法變更現有函數的部署套件類型 (.zip 或容器映像檔)。例如,您無法將容器映像函數轉換為使用 .zip 檔案封存。您必須建立新的函數。
建立函數
當您建立以 .zip 封存檔定義的函數時,您可以選擇函數的程式碼範本、語言版本和執行角色。Lambda 建立函數後,您可以新增函數程式碼。
建立函數
開啟 Lambda 主控台中的 函數頁面
。 -
選擇 建立函數。
-
選擇 Author from scratch (從頭開始編寫) 或 Use a blueprint (使用藍圖) 來建立函數。
-
在 基本資訊 下,請執行下列動作:
-
針對 函數名稱,輸入函數名稱。函數名稱的長度限制為 64 個字元。
-
對於執行時間,選擇函數要使用的語言版本。
-
(選用) 對於 Architecture (架構),選擇要用於函數的指令集架構。預設架構值為 x86_64。為您的函數建置部署套件時,確定它與此指令集架構相容。
-
-
(選用) 在 許可 下,展開 變更預設執行角色 。您可建立新的執行角色,或使用現有的角色。
-
(選用) 展開 Advanced settings (進階設定)。您可對函數選擇程式碼簽署組態。您還可以配置一個(AmazonVPC)的功能訪問。
-
選擇建立函數。
Lambda 建立新函數。您現在可以使用主控台來新增函數程式碼,並設定其他函數參數與功能。如需程式碼部署指示,請參閱函數所用執行時間的處理常式頁面。
使用主控台程式碼編輯器
主控台將建立具有單一來源檔案的 Lambda 函數。對於指令碼語言,您可以使用內建的程式碼編輯器編輯該檔案並新增更多檔案。選擇 Save (儲存) 以儲存變更。然後,若要執行程式碼,請選擇 Test (測試)。
當您儲存函數程式碼時,Lambda 主控台會建立 .zip 封存檔部署套件。當您在主控台外部開發函數程式碼時 (使用IDE),您需要建立部署套件,將程式碼上傳至 Lambda 函數。
更新函數程式碼
對於指令碼語言 (Node.js、Python 和 Ruby),您可以在內嵌的程式碼編輯器中編輯函數程式碼。如果程式碼大於 3MB,或如果您需要新增程式庫,或對於編輯器不支援的語言 (Java、Go、C#),必須將函數程式碼上傳為 .zip 封存。如果 .zip 封存檔小於 50 MB,您可以從本機電腦上傳 .zip 封存檔。如果此檔案大於 50 MB,請將該檔案從 Amazon S3 儲存貯體上傳至函數。
若要將函數程式碼上傳為 .zip 封存
開啟 Lambda 主控台中的函數頁面
。 -
選擇要更新的函數並選擇 Code (程式碼) 索引標籤。
-
在程式碼來源下,選擇上傳自。
-
選擇 .zip file (.zip 檔案),然後選擇 Upload (上傳)。
在檔案選擇器中,選取新的映像版本、選擇 Open (開啟),然後選擇 Save (儲存)。
-
(替代步驟 4) 選擇 Amazon S3 location (Amazon S3 位置)。
-
在文字方塊中,輸入 .zip 檔案封存URL的 S3 連結,然後選擇 [儲存]。
-
變更執行階段
如果您將函數組態更新為使用新的執行階段,則可能需要更新函數程式碼,才能與新執行階段相容。如果您將函數組態更新為使用不同的執行時間,則必須提供與執行時間和架構相容的新函數程式碼。如需如何為函數程式碼建立部署套件的指示,請參閱函數所使用之執行時間的處理常式頁面。
該 Node.js 20, Python 3.12, 爪哇 21,. NET8、紅寶石 3.3 及更高版本的基礎映像檔是基於 Amazon Linux 2023 最小容器映像檔。早期的基本映像使用 Amazon Linux 2。AL2023 比 Amazon Linux 2 具有多項優勢,包括較小的部署佔用空間和更新版本的程式庫,例如glibc
. 如需詳細資訊,請參閱 AWS
運算部落格上的隆重介紹適用於 AWS Lambda的 Amazon Linux 2023 執行期
變更執行階段
開啟 Lambda 主控台中的函數頁面
。 -
選擇要更新的函數並選擇 Code (程式碼) 索引標籤。
-
向下捲動到 Runtime settings (執行時間設定) 區段 (在程式碼編輯器下)。
-
選擇編輯。
-
請在 Runtime (執行階段) 選取執行階段識別符。
-
對於 Handler (處理常式),指定函數的處理常式。
-
對於 Architecture (架構),選擇要用於函數的指令集架構。
-
-
選擇 Save (儲存)。
變更架構
在可以變更指令集架構之前,您需要確保函數的程式碼與目標架構相容。
如果您使用 Node.js、Python 或 Ruby,並在內嵌的編輯器中編輯您的函數程式碼,則現有的程式碼可能無需修改即可執行。
不過,如果您使用 .zip 封存檔部署套件來提供函數程式碼,則必須準備新的 .zip 封存檔,該封存檔會針對目標執行時間和指令集架構正確地進行編譯和建置。如需指示,請參閱函數執行時間的處理常式頁面。
變更指令集架構
開啟 Lambda 主控台中的函數頁面
。 -
選擇要更新的函數並選擇 Code (程式碼) 索引標籤。
-
在 Runtime settings (執行時間設定) 中,選擇 Edit (編輯)。
-
對於 Architecture (架構),選擇要用於函數的指令集架構。
-
選擇 Save (儲存)。
使用 Lambda API
若要建立和設定使用 .zip 檔案封存的函數,請使用下列API作業:
AWS CloudFormation
您可以使 AWS CloudFormation 用建立使用 .zip 檔案封存的 Lambda 函數。在 AWS CloudFormation 範本中,AWS::Lambda::Function
資源會指定 Lambda 函數。如需AWS::Lambda::Function
資源中屬性的說明,請參閱AWS CloudFormation 使用者指南中的AWS:: Lambda:: 函數。
在 AWS::Lambda::Function
資源中,設定下列屬性,以建立定義為 .zip 封存檔的函數:
-
AWS:: Lambda:: 函數
PackageType — 設定為
Zip
。程式碼 — 在
S3Bucket
和S3Key
欄位中輸入 Amazon S3 儲存貯體名稱和 .zip 檔案名稱。對於 Node.js 或 Python,您可以提供 Lambda 函數的內嵌原始碼。-
執行時間 — 設定執行時間值。
-
架構 — 將架構值設定為使
arm64
用 AWS 重力 2 處理器。依預設,架構值為x86_64
。