本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
新增觸發條件到 Lambda@Edge 函數
您可以使用 AWS Lambda 主控台或 Amazon CloudFront 主控台,將觸發條件新增至 Lambda@Edge 函數。
重要
您只能為編號的函數版本 (而非 $LATEST) 建立觸發條件。
- Lambda console
-
將 CloudFront 事件的觸發條件新增至 Lambda@Edge 函數
登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/lambda/
開啟 AWS Lambda 主控台。 -
在頁面頂端的「區域」清單中,選擇美國東部 (維吉尼亞北部)。
-
在 Functions (函數) 頁面上,選擇您要為其新增觸發條件的函數名稱。
-
在函數概觀頁面上,選擇版本索引標籤。
-
選擇您要為其新增觸發的版本。
選擇版本之後,按鈕的名稱會變更為 Version: $LATEST (版本:$LATEST) 或 Version: (版本:) 版本編號。
-
選擇 Triggers (觸發條件) 索引標籤。
-
選擇 Add trigger (新增觸發條件)。
-
針對觸發組態選擇選取來源,輸入
cloudfront,然後選擇 CloudFront。注意
如果您已經建立一或多個觸發,則 CloudFront 為預設服務。
-
指定下列值,以指示您希望 Lambda 函數在何時執行。
-
分佈:選擇您要為其新增觸發的分佈。
-
快取行為:選擇快取行為,透過該行為指定您要執行函數的物件。
注意
如果您為快取行為指定
*,Lambda 函式則會部署至預設的快取行為。 -
CloudFront 事件:選擇促使函數執行的 CloudFront 事件。
-
包含本文:如果想要存取您函數中的請求本體,請勾選此核取方塊。
-
確認部署到 Lambda@Edge:選取此核取方塊,以便讓 AWS Lambda 將函數複寫至全球 AWS 區域 。
-
-
選擇新增。
將已更新的 CloudFront 分佈部署時,函數便開始針對指定的 CloudFront 事件處理請求。若要判斷是否已部署分佈,請在導覽窗格中選擇 Distributions (分佈)。部署分佈時,該分佈狀態欄中的值,會從正在部署變更為部署的日期與時間。
- CloudFront console
-
將 CloudFront 事件的觸發條件新增至 Lambda@Edge 函數
-
取得您希望新增觸發的 Lambda 函數的 ARN:
登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/lambda/
開啟 AWS Lambda 主控台。 -
在頁面頂端的區域清單中,選擇美國東部 (維吉尼亞北部)。
-
在函數清單上,選取您想要為其新增觸發的函數名稱。
-
在函數概觀頁面選擇版本索引標籤,然後選擇您想要為其新增觸發條件的編號版本。
-
選擇複製 ARN 按鈕,將 ARN 複製到剪貼簿。Lambda 函數的 ARN 如下所示:
arn:aws:lambda:us-east-1:123456789012:function:TestFunction:2最後面的數字 (此範例中為 2 (2)) 是該函數的版本編號。
在 https://console.aws.amazon.com/cloudfront/v4/home
開啟 CloudFront 主控台。 -
在分佈清單中,選取您想要為其新增觸發的分佈 ID。
-
選擇 Behaviors (動作) 索引標籤。
-
選擇您想要新增觸發條件的快取動作,然後選擇編輯。
-
對於函數關聯,請在函數類型清單中選擇 Lambda@Edge,作為您希望函數執行的時間點:針對檢視器請求、檢視器回應、原始伺服器請求或原始伺服器回應。
如需詳細資訊,請參閱選擇要觸發函數的事件。
-
在函數 ARN / 名稱文字方塊中,貼上所選事件發生時您想要執行 Lambda 函數的 ARN。這是您從 Lambda 主控台複製的值。
-
如果想要存取您函數中的請求本文,請勾選包含本文。
如果您只想要替換請求本體,就不需要選取此選項。
-
若要針對更多事件類型執行同一個函數,請重複步驟 6 和 7。
-
選擇儲存變更。
-
若要為此分佈新增更多快取行為的觸發,請重複步驟 5 到 10。
將已更新的 CloudFront 分佈部署時,函數便開始針對指定的 CloudFront 事件處理請求。若要判斷是否已部署分佈,請在導覽窗格中選擇 Distributions (分佈)。部署分佈時,該分佈狀態欄中的值,會從正在部署變更為部署的時間與日期。
-