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

更新函数

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

您可以在 CloudFront 控制台中或使用 Amazon Command Line Interface(Amazon CLI)更新函数的代码。

Console
更新函数代码
  1. 通过 https://console.amazonaws.cn/cloudfront/v4/home#/functions 登录到 CloudFront 控制台,然后选择函数页面。

    选择要更新的函数。

  2. 选择编辑并进行所需的更改:

    • 根据需要在详细信息部分中更新任意字段。

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

CLI
更新函数代码
  1. 打开一个命令行窗口。

  2. 运行以下命令。

    此示例使用 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 – 函数的阶段(LIVEDEVELOPMENT)。

  • Status – 函数的状态(PUBLISHEDUNPUBLISHED)。