View a markdown version of this page

為函數新增層 - AWS Lambda

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

為函數新增層

Lambda 層是含有補充程式碼或資料的 .zip 封存檔。層通常具備程式庫相依性、自訂執行期或組態檔案。

本節會說明如何將層新增至 Lambda 函數。若要進一步了解有關層的概念性資訊以及您可能會考慮使用的原因,請參閱 使用層管理 Lambda 相依項。

您必須先執行下列動作,才能設定 Lambda 函數以使用層:

您最多可以將五個層新增至 Lambda 函數。函數和所有圖層的解壓縮大小總計不得超過解壓縮部署套件大小 250 MB 的配額。如需詳細資訊,請參閱Lambda 配額。

您的函數可以繼續使用您已新增的任何 layer 版本,即使在刪除該 layer 版本之後,或是撤銷您存取 layer 的許可之後。但是,您不能建立使用已刪除圖層版本的新函數。

將層新增至函式
  1. 開啟 Lambda 主控台中的函數頁面。

  2. 選擇函式。

  3. 向下捲動至層區段,然後選擇新增層。

  4. 在選擇層下方選擇層來源:

    1. AWS layer:從 AWS受管擴充功能清單中選擇。

    2. 自訂層:選擇在您 AWS 帳戶中建立的層。

    3. 指定 ARN:若要使用來自不同 AWS 帳戶 的 layer,例如第三方延伸模組,請輸入 Amazon Resource Name (ARN)。

  5. 選擇新增。

新增層的順序即 Lambda 將層內容合併至執行環境的順序。您可以使用主控台來變更層合併順序。

若要更新函數的層合併順序 (主控台)
  1. 開啟 Lambda 主控台中的函數頁面。

  2. 選擇要設定的函數。

  3. 在 Layers (層) 下方,選擇 Edit (編輯)

  4. 選擇其中一個層。

  5. 選擇 Merge earlier (先前合併) 或 Merge later (稍後合併) 來調整層的順序。

  6. 選擇儲存。

層已設定版本控制。每個層版本的內容都是不可變的。層擁有者可發行新的層版本,以提供更新內容。您可以使用主控台來更新函數附加的層版本。

若要更新函數的層版本 (主控台)
  1. 開啟 Lambda 主控台中的層頁面。

  2. 選擇您要更新版本的層。

  3. 選擇使用此版本的函數標籤。

  4. 選擇您要修改的函數,然後選擇編輯。

  5. 在層版本中選擇要變更的層版本。

  6. 選擇 Update functions (更新函數)。

您無法跨 AWS 帳戶更新函數層版本。

尋找圖層資訊

若要尋找帳戶中與您函數執行時間相容的層,請使用 ListLayers API。例如,您可以使用下列 list-layers AWS Command Line Interface (CLI) 命令:

aws lambda list-layers --compatible-runtime python3.14

您應該會看到類似下列的輸出:

{ "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.14" ] } } ] }

若要在您的帳戶中列出所有層,請忽略 --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" ] } ] }