建立函數 - Amazon CloudFront

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

建立函數

您可以分兩個階段建立函式:

  1. 將函數代碼創建為 JavaScript。您可以使用 CloudFront 控制台中的默認示例,也可以編寫自己的示例。如需詳細資訊,請參閱下列主題:

  2. 用 CloudFront 於建立函數並包含您的程式碼。程式碼存在於函數內部 (而不是引用形式)。

Console
建立 函數
  1. 登入 CloudFront 主控台,https://console.aws.amazon.com/cloudfront/v4/home#/functions然後選擇「功能」頁面。

  2. 選擇建立函數

  3. 輸入在中唯一的函數名稱 AWS 帳戶,選擇 JavaScript 版本,然後選擇繼續。新函數的詳細資訊頁面會隨即顯示。

    注意

    若要在函數中使用索引鍵值配對,您必須選擇 JavaScript 執行階段 2.0。

  4. 在 [函數程式碼] 區段中,選擇 [建置] 索引標籤,然後輸入函數程式碼。建置索引標籤中包含的範例程式碼會說明函數程式碼的基本語法。

  5. 選擇儲存變更

  6. 如果函數代碼使用鍵值對,則必須關聯索引鍵值存放區。

    您可以在第一次建立函數時關聯索引鍵值存放區。或者,您可以稍後更新函數來關聯它。

    若要立即關聯鍵值存放區,請依照下列步驟執行:

    • 移至「關聯」 KeyValueStore 區段,然後選擇「關聯現有」 KeyValueStore。

    • 選取函數中包含索引鍵值配對的索引鍵值存放區,然後選擇「關聯 KeyValueStore」。

    CloudFront 立即將商店與該功能相關聯。您無需儲存函數。

CLI

如果您使用 CLI,通常會先在檔案中建立函數程式碼,然後使用 AWS CLI來建立函數。

建立 函數
  1. 在檔案中建立函數程式碼,並將其儲存於電腦可以連線的目錄中。

  2. 執行命令,如範例所示。此範例會使用fileb://符號來傳入檔案。它還會包括換行符號,讓命令更易於讀取。

    aws cloudfront create-function \ --name MaxAge \ --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js
    備註
    • Runtime— 的版本 JavaScript. 若要在函數中使用索引鍵值配對,您必須指定 2.0 版。

    • KeyValueStoreAssociations— 如果您的函數使用鍵值對,則可以在第一次建立函數時關聯索引鍵值存放區。或者,您可以稍後使用來關聯它update-functionQuantity 永遠等於 1,因為每個函數只能有一個與其關聯的鍵值存放區。

    如果命令成功執行,您會看到如下所示的輸出。

    ETag: ETVABCEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years Runtime: cloudfront-js-2.0 KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \ FunctionMetadata: CreatedTime: '2021-04-18T20:38:56.915000+00:00' FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge LastModifiedTime: '2023-11-19T20:38:56.915000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge

    大多數資訊都是從請求中複製的。其他資訊由新增 CloudFront。

    備註
    • ETag— 每次修改金鑰值存放區時,此值都會變更。您可以使用此值和函數名稱來引用 future 的函數。確保您始終使用當前的ETag

    • FunctionARN— 您的 CloudFront功能的 ARN。

    • 111122223333 — 該. AWS 帳戶

    • Stage— 函數 (LIVEDEVELOPMENT) 的階段。

    • Status— 函數 (PUBLISHEDUNPUBLISHED) 的狀態。

建立函數之後,它就會新增至DEVELOPMENT舞台。我們建議您先測試您的函數,然後再發佈它。發佈函數之後,函數會變更為LIVE階段。