更新函数 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新函数

您可以随时更新函数。仅对处于 DEVELOPMENT 阶段的函数版本进行更改。必须发布函数,才能将更改从 DEVELOPMENT 阶段复制到 LIVE 阶段。

你可以在 CloudFront 控制台中更新函数的代码,也可以使用Amazon CLI。

Console
更新函数代码(控制台)
  1. 在 CloudFront 控制台中打开 “数” 页面https://console.amazonaws.cn/cloudfront/v4/home#/functions,然后选择要更新的函数。

  2. 进行更改:

    • 您可以选择编辑按钮并更改详细信息部分的字段。

    • 您无法更改函数代码。选择构建选项卡,进行更改,然后选择保存更改,仅保存对代码的更改。

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