

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

# 設定 Lambda 延伸模組
<a name="extensions-configuration"></a>

## 設定延伸項目 (.zip 封存檔)
<a name="using-extensions-config"></a>

您可以將擴展功能作為 [Lambda 層](chapter-layers.md)新增至函數。使用圖層可讓您在整個組織或整個 Lambda 開發人員社群中共用擴展功能。您可以將一或多個延伸項目新增至圖層。您可以為函式最多註冊 10 個延伸項目。

您可以使用與任何圖層相同的方法將延伸項目新增到您的函式中。如需更多詳細資訊，請參閱 [使用層管理 Lambda 相依項](chapter-layers.md)。

**將延伸項目新增到您的函式 (主控台)**

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

1. 選擇一個函數。

1. 如果尚未選取，請選擇 **Code (程式碼)** 標籤。

1. 在 **Layers** 下方，選擇 **Edit (編輯)**。

1. 在**選擇圖層**中，選擇**指定 ARN**。

1. 在**指定 ARN**中，輸入延伸圖層的 Amazon Resource Name (ARN)。

1. 選擇**新增**。

## 在容器映像中使用延伸項目
<a name="invocation-extensions-images"></a>

您可以將延伸項目新增至[容器映像](images-create.md)中。ENTRYPOINT 容器映像設定指定函數的主要程序。在 Dockerfile 中進行 ENTRYPOINT 設定，或設定為函數組態覆寫。

您可以在容器中執行多個程序。Lambda 會管理主程序的生命週期和任何額外程序。Lambda 會使用 [Extensions API](runtimes-extensions-api.md) 來管理擴展生命週期。

### 範例：新增外部延伸項目
<a name="extensions-images-ex1"></a>

外部擴展會在不同於 Lambda 函數的程序中執行。Lambda 會在 `/opt/extensions/` 目錄中開始每個擴展的程序。Lambda 使用 Extensions API 來管理擴展生命週期。函數執行完成後，Lambda 會將 `Shutdown` 事件傳送至每個外部擴展。

**Example 將外部延伸項目新增至 Python 基礎映像**  

```
FROM public.ecr.aws/lambda/python:3.11

# Copy and install the app
COPY /app /app
WORKDIR /app
RUN pip install -r requirements.txt

# Add an extension from the local directory into /opt/extensions
ADD my-extension.zip /opt/extensions
CMD python ./my-function.py
```

## 後續步驟
<a name="using-extensions-next"></a>

若要深入了解延伸項目，我們建議您使用下列資源：
+ 如需基礎工作範例，請參閱 AWS 運算部落格上的[建置 AWS Lambda 的延伸項目](https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/)。
+ 如需 AWS Lambda 合作夥伴提供的延伸項目相關資訊，請參閱 AWS 運算部落格上的 [AWS Lambda 延伸項目簡介](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-extensions-in-preview/)。
+ 若要檢視可用的範例延伸項目和包裝函數指令碼，請參閱 AWS 範例 GitHub 儲存庫上的 [AWS Lambda 延伸項目](https://github.com/aws-samples/aws-lambda-extensions)。