本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新 函數
您隨時都可以更新。這些變更只會對 DEVELOPMENT
階段中的函數版本進行。若要將更新從DEVELOPMENT
階段複製到 LIVE
,您必須發佈 函數。
您可以在 CloudFront 主控台或使用 () AWS Command Line Interface 更新函數的程式碼AWS CLI。
- Console
-
- 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。您可以從 DescribeFunction API 操作取得此值。
-
即使您不想要變更,您也必須包含 function-code
。
-
要小心 function-config
。您應該傳遞您想要在組態中保留的所有內容。具體而言,請依下列方式處理鍵值存放區:
如果命令成功執行,您會看到如下所示的輸出。
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
)。