更新 函數 - Amazon CloudFront

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

更新 函數

您隨時都可以更新。這些變更只會對 DEVELOPMENT 階段中的函數版本進行。若要將更新從DEVELOPMENT階段複製到 LIVE,您必須發佈 函數

您可以在 CloudFront 主控台或使用 () AWS Command Line Interface 更新函數的程式碼AWS CLI。

Console
更新函數程式碼
  1. 在 登入 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home#/functions,然後選擇函數頁面。

    選擇要更新的函數。

  2. 選擇編輯並進行下列變更:

    • 更新詳細資訊區段中的任何欄位。

    • 變更函數程式碼。選擇建置索引標籤,進行變更,然後選擇儲存變更以儲存程式碼的變更。

CLI
若要更新函式程式碼
  1. 開啟命令列視窗。

  2. 執行下列命令。

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

    aws cloudfront update-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 \ --if-match ETVABCEXAMPLE
    備註
    • 您可以透過其名稱和 ETag (在 if-match 參數中) 來識別函數。請確定您使用目前的 ETag。您可以從 DescribeFunction API 操作取得此值。

    • 即使您不想要變更,您也必須包含 function-code

    • 要小心 function-config。您應該傳遞您想要在組態中保留的所有內容。具體而言,請依下列方式處理鍵值存放區:

      • 若要保留現有的鍵值存放區關聯 (如果有的話),請指定現有存放區的名稱。

      • 若要變更關聯,請指定索引鍵值存放區的名稱。

      • 若要移除關聯,請省略 KeyValueStoreAssociations 參數。

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

    ETag: ETVXYZEXAMPLE 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-12-19T23:41:15.389000+00:00' \ Stage: DEVELOPMENT \ Name: MaxAge \ Status: UNPUBLISHED

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

備註
  • ETag – 每次修改索引鍵值存放區時,此值都會變更。

  • FunctionARN – CloudFront 函數的 ARN。

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

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