更新函数
您可以随时更新函数。仅对处于 DEVELOPMENT
阶段的函数版本进行更改。要将更新从 DEVELOPMENT
阶段复制到 LIVE
,您必须发布函数。
您可以在 CloudFront 控制台中或使用 AWS Command Line Interface(AWS CLI)更新函数的代码。
- Console
-
更新函数代码
-
通过 https://console.aws.amazon.com/cloudfront/v4/home#/functions
登录到 CloudFront 控制台,然后选择函数页面。 选择要更新的函数。
-
选择编辑并进行所需的更改:
-
根据需要在详细信息部分中更新任意字段。
-
更改或移除关联的键值存储。有关键值存储的更多信息,请参阅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
)。