

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

# 在 Lambda 中建立和刪除層
<a name="creating-deleting-layers"></a>

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

本節會說明如何在 Lambda 中建立和刪除層。若要進一步了解有關層的概念性資訊以及您可能會考慮使用的原因，請參閱 [使用層管理 Lambda 相依項](chapter-layers.md)。

[封裝層內容](packaging-layers.md) 後，下一步是在 Lambda 中建立層。本節會示範如何僅使用 Lambda 主控台或 Lambda API 建立和刪除層。若要使用  AWS CloudFormation 建立層，請參閱 [AWS CloudFormation 與圖層搭配使用](layers-cfn.md)。若要使用  AWS Serverless Application Model  (AWS SAM) 建立層，請參閱 [AWS SAM 與圖層搭配使用](layers-sam.md)。

**Topics**
+ [建立圖層](#layers-create)
+ [刪除圖層版本](#layers-delete)

## 建立圖層
<a name="layers-create"></a>

若要建立層，您可以從本機電腦或 Amazon Simple Storage Service (Amazon S3) 中上傳 .zip 封存檔。設定函數的執行環境時，Lambda 會將層內容擷取到 `/opt` 目錄中。

層可以有一個或多個 [層版本](chapter-layers.md#lambda-layer-versions)。建立層時，Lambda 將層版本設定為版本 1。您可以隨時變更既有層版本的許可。不過，若要更新程式碼或進行其他組態變更，您必須建立新的層版本。

**建立圖層 (主控台)**

1. 開啟 Lambda 主控台中的 [層頁面](https://console.aws.amazon.com/lambda/home#/layers)。

1. 選擇 **建立圖層**。

1. 在 **Layer configuration** (圖層組態) 下，為 **Name** (名稱) 輸入圖層的名稱。

1. (選用) 在 **Description (說明)** 中，輸入 Layer 的說明。

1. 若要上傳 Layer 程式碼，請執行下列其中一個動作：
   + 若要從電腦上傳 .zip 檔案，請選擇 **Upload a .zip file** (上傳 .zip 檔案)。然後，選擇 **Upload** (上傳) 以選取您的本機 .zip 檔案。
   + 若要從 Amazon S3 上傳檔案，請選擇 **Upload a file from Amazon S3** (從 Amazon S3 上傳檔案)。然後，對於 **Amazon S3 連結 URL**，輸入檔案的連結。

1. (選用) 對於**相容架構**，選擇一個值或兩個值。如需詳細資訊，請參閱[選取和設定 Lambda 函數的指令集架構](foundation-arch.md)。

1. (選擇性) 在 **相容執行期** 中選擇相容於您的層的執行期。

1. (選擇性) 在 **License (授權)** 中，輸入任何必要的授權資訊。

1. 選擇**建立**。

或者，您可以執行 [publish-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/publish-layer-version.html) AWS Command Line Interface (CLI) 命令。範例：

```
aws lambda publish-layer-version --layer-name my-layer --zip-file fileb://layer.zip --compatible-runtimes python3.14
```

每當您執行 `publish-layer-version` 時，Lambda 都會建立新的[層版本](chapter-layers.md#lambda-layer-versions)。

## 刪除圖層版本
<a name="layers-delete"></a>

若要刪除層版本，請使用 [DeleteLayerVersion](https://docs.aws.amazon.com/lambda/latest/api/API_DeleteLayerVersion.html) API 操作。例如，以指定的 layer 名稱和 layer 版本執行 [delete-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/delete-layer-version.html) AWS CLI 命令。

```
aws lambda delete-layer-version --layer-name my-layer --version-number 1
```

刪除層版本之後，您無法再設定 Lambda 函數以便使用它。不過，凡已使用該版本的任何函式均能繼續對其進行存取。此外，Lambda 永遠不會重複使用層名稱的版本編號。

計算[配額](gettingstarted-limits.md)時，刪除層版本意味著它不會再計入儲存函數和層的預設 75 GB 配額。不過，對於使用已刪除層版本的函數，層內容仍會計入函數的部署套件大小配額 (即 .zip 檔案封存為 250 MB)。