本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新功能
您隨時都可以更新。這些變更只會對 DEVELOPMENT
階段中的函數版本進行。若要將更新從DEVELOPMENT
階段複製到LIVE
,您必須發行函數。
您可以在 CloudFront 控制台中或使用 AWS Command Line Interface (AWS CLI)更新函數的代碼。
- Console
-
若要更新函數程式碼
-
登入 CloudFront 主控台,https://console.aws.amazon.com/cloudfront/v4/home#/functions
然後選擇「功能」頁面。 選擇要更新的函數。
-
選擇 「編輯」 並進行下列變更:
-
更新「詳細資料」區段中的任何欄位。
-
變更或移除關聯的金鑰值存放區。如需鍵值存放區的詳細資訊,請參閱 Amazon CloudFront KeyValueStore。
-
更改函數代碼。選擇「生成」選項卡,進行更改,然後選擇「保存更改」以保存對代碼的更改。
-
-
- CLI
-
若要更新函式程式碼
-
開啟命令列視窗。
-
執行下列命令。
此範例會使用
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。您可以使用描述操作獲取它。 -
即使您不想要變更,您也必須包含
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
— 函數 (LIVE
或DEVELOPMENT
) 的階段。 -
Status
— 函數 (PUBLISHED
或UNPUBLISHED
) 的狀態。