

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

# 建立 Lambda@Edge 函數
<a name="lambda-edge-create-in-lambda-console"></a>

若要設定 AWS Lambda 以執行以 CloudFront 事件為基礎的 Lambda 函數，請遵循此程序。<a name="lambda-edge-create-function-procedure"></a>

**建立 Lambda@Edge 函數**

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

1. 如果您已擁有一個或多個 Lambda 函數，請選擇 **Create function (建立函數)**。

   如果您未擁有任何函數，請選擇 **Get Started Now (立即開始)**。

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

1. 使用您自己的程式碼建立函數，或以 CloudFront 藍圖為基礎建立函數。
   + 若要使用自己的程式碼來建立函數，請選擇 **Author from scratch (從頭開始編寫)**。
   + 若要顯示 CloudFront 藍圖清單，請在篩選條件欄位輸入 **cloudfront**，然後選擇 **Enter**。

     如果找到想要使用的藍圖，請選擇該藍圖名稱。

1. 在 **Basic information (基本資訊)** 區段中，指定下列的值：

   1. **名稱**：輸入函數名稱。

   1. **角色**：若要快速開始使用，請選擇**從範本建立新角色**。您也可以選擇**選擇現有角色**或**建立自訂角色**，然後依照提示完成本區段的資訊。

   1. **角色名稱**：輸入角色名稱。

   1. **政策範本**：選擇**基本邊緣 Lambda 許可權限**。

1. 如果您在步驟 4 中選擇 **Author from scratch (從頭開始編寫)**，請跳到步驟 7。

   如果您在步驟 4 選擇藍圖，則可於 **cloudfront** 區段建立一個觸發，其可以將此函數與 CloudFront 分佈和 CloudFront 事件中的快取相關聯。我們建議您在此處選擇 **Remove (移除)**，如此函數在建立時就不會有觸發條件。您可以在稍後新增觸發。
**提示**  
建議在新增觸發條件之前，先對函數進行測試及除錯。如果您現在新增觸發條件，函式會在您建立函式並完成複寫至世界各地的 AWS 位置，並部署對應的分佈時立即執行。

1. 選擇 **Create function (建立函數)**。

   Lambda 會建立兩個版本的函數：\$1LATEST 和 Version 1。您只能編輯 \$1LATEST 版本，但是主控台最初會顯示 Version 1。

1. 若要編輯函數，請選擇該函數 ARN 下方、靠近頁面頂端的 **Version 1 (版本 1)**。接著，在 **Versions (版本)** 索引標籤中，選擇 **\$1LATEST (\$1LATEST)**。(如果離開函數再返回，按鈕的標籤會是 **Qualifiers (修飾詞)**。)

1. 在 **Configuration (組態)** 索引標籤中，選擇適用的 **Code entry type (程式碼項目類型)**。然後遵循提示來編輯或上傳程式碼。

1. 針對 **Runtime (執行時間)**，根據函數的程式碼來選擇值。

1. 在 **Tags (標籤)** 區段中，新增任何適用的標籤。

1. 選擇 **Actions (動作)**，然後選擇 **Publish new version (發佈新版本)**。

1. 輸入函數新版本的說明。

1. 選擇 **Publish (發佈)**。

1. 對函數進行測試與偵錯。如需有關在 Lambda 主控台進行測試的詳細資訊，請參閱《*AWS Lambda 開發人員指南*》中的[使用主控台調用 Lambda 函數](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#get-started-invoke-manually)。

1. 當您準備好將函數用於 CloudFront 事件執行時，請發佈另一個版本，並編輯該函數以新增觸發。如需詳細資訊，請參閱[為 Lambda@Edge 函數新增觸發條件](lambda-edge-add-triggers.md)。