選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

將函數與分佈建立關聯

焦點模式
將函數與分佈建立關聯 - Amazon CloudFront

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

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

若要搭配分佈使用函數,請將函數與分佈中的一或多個快取行為建立關聯。您可以在多個分佈中將函數與的多個快取行為相關聯。

您可以將函數與下列任何行為建立關聯:

  • 現有的快取行為

  • 現有分佈中的新快取行為

  • 新分佈中的新快取行為

將函數與快取行為建立關聯時,您必須選擇事件類型。事件類型會決定 CloudFront 何時執行函數。

您可以選擇下列事件類型:

  • 檢視者請求 – 當 CloudFront 收到來自檢視者的請求時,該函數會執行。

  • 檢視者回應 – 此函數會在 CloudFront 傳回檢視者回應之前執行。

您無法搭配 CloudFront Functions 使用面向原始伺服器的事件類型 (原始伺服器請求原始伺服器回應)。您可以改為使用 Lambda@Edge。如需詳細資訊,請參閱可以觸發 Lambda@Edge 函數的 CloudFront 事件

注意

在關聯函數之前,您必須將其發佈LIVE 階段。

您可以將函數與 CloudFront 主控台中的分佈或 () AWS Command Line Interface 建立關聯AWS CLI。下列程序顯示如何將函數與現有的快取行為建立關聯。

Console
將函數與現有快取行為建立關聯
  1. 在 登入 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home#/functions,然後選擇函數頁面。

  2. 選擇您要關聯的函數。

  3. 函數頁面上,選擇發佈索引標籤。

  4. 選擇發佈函數

  5. 選擇 Add association (建立關聯)。在出現的對話方塊中,選擇分佈、事件類型和/或快取行為。

    在事件類型中,選擇您希望此函數執行的時間:

    • 檢視器請求 – 每次 CloudFront 收到請求時執行 函數。

    • 檢視器回應 – 每次 CloudFront 傳回回應時執行函數。

  6. 若要儲存組態,請選擇新增關聯

CloudFront 會將分佈與函數建立關聯。等待幾分鐘,讓關聯的分佈完成部署。您可以在函數詳細資訊頁面上選擇檢視分佈,以檢查進度。

CLI
將函數與現有快取行為建立關聯
  1. 開啟命令列視窗。

  2. 輸入下列命令,以儲存您要與函數建立關聯的快取行為分佈的分佈組態。此命令會將分佈組態儲存到名為 dist-config.yaml 的檔案中。若要使用此命令,請執行下列動作:

    • DistributionID 取代為分佈的 ID。

    • 在一行上執行命令。在此範例中,提供分行符號以使範例更具可讀性。

    aws cloudfront get-distribution-config \ --id DistributionID \ --output yaml > dist-config.yaml

    當命令成功時, 不會 AWS CLI 傳回任何輸出。

  3. 開啟您建立dist-config.yaml的名為 的檔案。編輯檔案以進行下列變更。

    1. ETag 欄位重新命名為 IfMatch,但不要變更欄位的值。

    2. 在快取行為中,尋找名為 FunctionAssociations 的物件。更新此物件以新增函數關聯。如下的範例給出函數關聯的 YAML 語法。

      • 下列範例顯示檢視者請求事件物件 (觸發條件)。若要使用檢視者回應事件類型,請將 viewer-request 取代為 viewer-response

      • arn:aws:cloudfront::111122223333:function/ExampleFunction 取代為與此快取行為相關聯之函數的 Amazon Resource Name (ARN)。要獲取函數 ARN,您可以使用 aws cloudfront list-functions 命令。

      FunctionAssociations: Items: - EventType: viewer-request FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction Quantity: 1
    3. 進行這些變更後,請儲存檔案。

  4. 使用以下命令更新分佈,同時新增函數關聯。若要使用此命令,請執行下列動作:

    • DistributionID 取代為分佈的 ID。

    • 在一行上執行命令。在此範例中,提供分行符號以使範例更具可讀性。

    aws cloudfront update-distribution \ --id DistributionID \ --cli-input-yaml file://dist-config.yaml

    如果命令成功執行,您會看到如下所示的輸出,其中描述剛使用函數關聯更新的分佈。為便於閱讀,對如下的範例輸出進行了截斷。

    Distribution: ARN: arn:aws:cloudfront::111122223333:distribution/EBEDLT3BGRBBW ... truncated ... DistributionConfig: ... truncated ... DefaultCacheBehavior: ... truncated ... FunctionAssociations: Items: - EventType: viewer-request FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction Quantity: 1 ... truncated ... DomainName: d111111abcdef8.cloudfront.net Id: EDFDVBD6EXAMPLE LastModifiedTime: '2021-04-19T22:39:09.158000+00:00' Status: InProgress ETag: E2VJGGQEG1JT8S
將函數與現有快取行為建立關聯
  1. 在 登入 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home#/functions,然後選擇函數頁面。

  2. 選擇您要關聯的函數。

  3. 函數頁面上,選擇發佈索引標籤。

  4. 選擇發佈函數

  5. 選擇 Add association (建立關聯)。在出現的對話方塊中,選擇分佈、事件類型和/或快取行為。

    在事件類型中,選擇您希望此函數執行的時間:

    • 檢視器請求 – 每次 CloudFront 收到請求時執行 函數。

    • 檢視器回應 – 每次 CloudFront 傳回回應時執行函數。

  6. 若要儲存組態,請選擇新增關聯

CloudFront 會將分佈與函數建立關聯。等待幾分鐘,讓關聯的分佈完成部署。您可以在函數詳細資訊頁面上選擇檢視分佈,以檢查進度。

重新部署分佈時,此分佈的 Status 變更為 InProgress。當新的分佈組態到達 CloudFront 節點時,該節點會開始使用相關聯的 函數。當分發完全部署時, 會Status變更回 Deployed。這表示相關聯的 CloudFront 函數已在全球所有 CloudFront 節點中上線。通常這需要幾分鐘的時間。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。