

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

# 新增觸發條件到 Lambda@Edge 函數
<a name="lambda-edge-add-triggers-console"></a>

您可以使用 AWS Lambda 主控台或 Amazon CloudFront 主控台，將觸發條件新增至 Lambda@Edge 函數。

**重要**  
您只能為編號的函數版本 (而非 **\$1LATEST**) 建立觸發條件。

------
#### [ Lambda console ]<a name="lambda-edge-add-triggers-procedure"></a>

**將 CloudFront 事件的觸發條件新增至 Lambda@Edge 函數**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) 開啟 AWS Lambda 主控台。

1. 在頁面頂端的「區域」清單中，選擇**美國東部 (維吉尼亞北部)**。

1. 在 **Functions (函數)** 頁面上，選擇您要為其新增觸發條件的函數名稱。

1. 在**函數概觀**頁面上，選擇**版本**索引標籤。

1. 選擇您要為其新增觸發的版本。

   選擇版本之後，按鈕的名稱會變更為 **Version: \$1LATEST (版本：\$1LATEST)** 或 **Version: (版本：)** *版本編號*。

1. 選擇 **Triggers (觸發條件)** 索引標籤。

1. 選擇 **Add trigger (新增觸發條件)**。

1. 針對**觸發組態**選擇**選取來源**，輸入 **cloudfront**，然後選擇 **CloudFront**。
**注意**  
如果您已經建立一或多個觸發，則 CloudFront 為預設服務。

1. 指定下列值，以指示您希望 Lambda 函數在何時執行。

   1. **分佈**：選擇您要為其新增觸發的分佈。

   1. **快取行為**：選擇快取行為，透過該行為指定您要執行函數的物件。
**注意**  
如果您為快取行為指定 `*`，Lambda 函式則會部署至預設的快取行為。

   1. **CloudFront 事件**：選擇促使函數執行的 CloudFront 事件。

   1. **包含本文**：如果想要存取您函數中的請求本體，請勾選此核取方塊。

   1. **確認部署到 Lambda@Edge**：選取此核取方塊，以便讓 AWS Lambda 將函數複寫至全球 AWS 區域 。

1. 選擇**新增**。

   將已更新的 CloudFront 分佈部署時，函數便開始針對指定的 CloudFront 事件處理請求。若要判斷是否已部署分佈，請在導覽窗格中選擇 **Distributions (分佈)**。部署分佈時，該分佈**狀態**欄中的值，會從**正在部署**變更為部署的日期與時間。

------
#### [ CloudFront console ]<a name="lambda-create-functions-add-triggers-cloudfront-console-procedure"></a>

**將 CloudFront 事件的觸發條件新增至 Lambda@Edge 函數**

1. 取得您希望新增觸發的 Lambda 函數的 ARN：

   1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) 開啟 AWS Lambda 主控台。

   1. 在頁面頂端的區域清單中，選擇**美國東部 (維吉尼亞北部)**。

   1. 在函數清單上，選取您想要為其新增觸發的函數名稱。

   1. 在**函數概觀**頁面選擇**版本**索引標籤，然後選擇您想要為其新增觸發條件的編號版本。

   1. 選擇**複製 ARN** 按鈕，將 ARN 複製到剪貼簿。Lambda 函數的 ARN 如下所示：

      `arn:aws:lambda:us-east-1:123456789012:function:TestFunction:2`

      最後面的數字 (此範例中為 **2 (2)**) 是該函數的版本編號。

1. 在 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) 開啟 CloudFront 主控台。

1. 在分佈清單中，選取您想要為其新增觸發的分佈 ID。

1. 選擇 **Behaviors (動作)** 索引標籤。

1. 選擇您想要新增觸發條件的快取動作，然後選擇**編輯**。

1. 對於**函數關聯**，請在**函數類型**清單中選擇 **Lambda@Edge**，作為您希望函數執行的時間點：針對檢視器請求、檢視器回應、原始伺服器請求或原始伺服器回應。

   如需詳細資訊，請參閱[選擇要觸發函數的事件](lambda-how-to-choose-event.md)。

1. 在**函數 ARN / 名稱**文字方塊中，貼上所選事件發生時您想要執行 Lambda 函數的 ARN。這是您從 Lambda 主控台複製的值。

1. 如果想要存取您函數中的請求本文，請勾選**包含本文**。

   如果您只想要替換請求本體，就不需要選取此選項。

1. 若要針對更多事件類型執行同一個函數，請重複步驟 6 和 7。

1. 選擇**儲存變更**。

1. 若要為此分佈新增更多快取行為的觸發，請重複步驟 5 到 10。

   將已更新的 CloudFront 分佈部署時，函數便開始針對指定的 CloudFront 事件處理請求。若要判斷是否已部署分佈，請在導覽窗格中選擇 **Distributions (分佈)**。部署分佈時，該分佈**狀態**欄中的值，會從**正在部署**變更為部署的時間與日期。

------