本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為函數新增層
Lambda 層是含有補充程式碼或資料的 .zip 封存檔。層通常具備程式庫相依性、自訂執行期或組態檔案。
本節會說明如何將層新增至 Lambda 函數。若要進一步了解有關層的概念性資訊以及您可能會考慮使用的原因,請參閱 使用層管理 Lambda 相依項。
您必須先執行下列動作,才能設定 Lambda 函數以使用層:
-
確認您擁有對層版本呼叫 GetLayerVersion API 的許可。對於 中的函數 AWS 帳戶,您必須在使用者政策中擁有此許可。若要在其他帳號中使用圖層,其他帳戶的擁有者必須在資源型策略中授與您的帳戶許可。如需範例,請參閱 將 Lambda 層存取權授予其他帳戶。
您最多可以將五個層新增至 Lambda 函數。函數和所有圖層的解壓縮大小總計不得超過解壓縮部署套件大小 250 MB 的配額。如需詳細資訊,請參閱Lambda 配額。
您的函數可以繼續使用您已新增的任何層版本,即使該層版本已被刪除,或您存取層的許可被撤銷後也是如此。但是,您不能建立使用已刪除圖層版本的新函數。
將圖層新增至函數
開啟 Lambda 主控台中的函數頁面
。 -
選擇 函數。
-
向下捲動至層區段,然後選擇新增層。
-
在選擇層下方選擇層來源:
-
AWS layer:從 AWS受管擴充功能清單中選擇。
-
自訂 layer:選擇在您的 中建立的 layer AWS 帳戶。
-
指定 ARN:若要使用來自不同 AWS 帳戶 的 layer,例如第三方延伸模組,請輸入 Amazon Resource Name (ARN)。
-
-
選擇新增。
新增層的順序即 Lambda 將層內容合併至執行環境的順序。您可以使用主控台來變更層合併順序。
若要更新函數的層合併順序 (主控台)
開啟 Lambda 主控台中的函數頁面
。 -
選擇要設定的函數。
-
在 Layers (層) 下方,選擇 Edit (編輯)
-
選擇其中一個層。
-
選擇 Merge earlier (先前合併) 或 Merge later (稍後合併) 來調整層的順序。
-
選擇儲存。
層已設定版本控制。每個層版本的內容都是不可變的。層擁有者可發行新的層版本,以提供更新內容。您可以使用主控台來更新函數附加的層版本。
若要更新函數的層版本 (主控台)
-
開啟 Lambda 主控台中的層頁面
。 -
選擇您要更新版本的層。
-
選擇使用此版本的函數標籤。
-
選擇您要修改的函數,然後選擇編輯。
-
在層版本中選擇要變更的層版本。
-
選擇 Update functions (更新函數)。
您無法跨 AWS 帳戶更新函數層版本。
尋找圖層資訊
若要在您的帳戶中尋找與函數執行期相容的層,請使用 ListLayers API。例如,您可以使用下列 list-layers AWS Command Line Interface (CLI) 命令:
aws lambda list-layers --compatible-runtime python3.13
您應該會看到類似下列的輸出:
{ "Layers": [ { "LayerName": "my-layer", "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LatestMatchingVersion": { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2025-04-15T00:37:46.592+0000", "CompatibleRuntimes": [ "python3.13" ] } } ] }
若要在您的帳戶中列出所有層,請忽略 --compatible-runtime
選項。回應詳細資訊會顯示各個層的最新版本。
您還可使用 ListLayerVersions API 取得層的最新版本。舉例來說,您可以使用下列 list-layer-versions
CLI 命令:
aws lambda list-layer-versions --layer-name my-layer
您應該會看到類似下列的輸出:
{ "LayerVersions": [ { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2023-11-15T00:37:46.592+0000", "CompatibleRuntimes": [ "java11" ] }, { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Version": 1, "Description": "My layer", "CreatedDate": "2023-11-15T00:27:46.592+0000", "CompatibleRuntimes": [ "java11" ] } ] }