本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新函数
您可以随时更新函数。仅对处于 DEVELOPMENT
阶段的函数版本进行更改。必须发布函数,才能将更改从 DEVELOPMENT
阶段复制到 LIVE
阶段。
你可以在 CloudFront 控制台中更新函数的代码,也可以使用Amazon CLI。
- Console
-
更新函数代码(控制台)
-
在 CloudFront 控制台中打开 “函数” 页面https://console.amazonaws.cn/cloudfront/v4/home#/functions
,然后选择要更新的函数。 -
进行更改:
-
您可以选择编辑按钮并更改详细信息部分的字段。
-
您可以更改或移除关联的键值存储。选择相应的按钮。有关键值存储的更多信息,请参阅Amazon CloudFront KeyValueStore。
-
您无法更改函数代码。选择构建选项卡,进行更改,然后选择保存更改,仅保存对代码的更改。
-
-
- CLI
-
更新函数代码 (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::1: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::1: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
-