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

更新函数

测试函数的过程中,您可能需要更新函数代码。当您更新函数的代码时,它只会影响处于 DEVELOPMENT 阶段的函数的副本。处于 LIVE 阶段的函数代码不会更改。要更新 LIVE 阶段中的代码,您需要发布函数,该函数将其从 DEVELOPMENT 阶段复制到 LIVE

您可以在 CloudFront 控制台或使用 Amazon CLI 更新函数的代码。

Console

要更新函数代码,您可以在 CloudFront 控制台中使用可视化代码编辑器。

要更新函数代码(控制台)
  1. 要更新现有函数,通过以下网址在 CloudFront 控制台中打开函数页面:https://console.amazonaws.cn/cloudfront/v3/home#/functions,然后选择您想要更新的函数。

  2. 在函数页面上,选择构建选项卡。然后确保选择了函数的开发版本。您无法更新函数的实时版本。

  3. 使用控制台的代码编辑器更新函数代码。

    更新代码时,代码编辑器可能会显示有关 JavaScript 语法的错误或警告。

  4. 更新完函数代码后,选择 Save(保存)。

成功后,您会在页面顶部看到一个横幅,表明函数名称已成功保存

CLI

在本地更新函数代码后,您可以使用 Amazon CLI 在 CloudFront Functions 中使用 aws cloudfront update-function 命令对其进行更新,如以下示例所示。此示例命令使用输入文件向命令提供函数配置和更新后的函数代码。要使用此示例,请执行下列操作:

  • ExampleFunction 替换为您在更新其代码的函数的名称。

  • Example function 替换为描述函数的注释。

  • function.js 替换为包含更新的函数代码的文件的名称。从包含此文件的同一目录运行命令。

  • ETVABCEXAMPLE 替换为您在更新其代码的函数的 ETag 值。要获取此值,您可以使用 aws cloudfront describe-function 命令。

  • 在一行上运行该命令。在示例中,提供换行符以使示例更具可读性。

aws cloudfront update-function \ --name ExampleFunction \ --function-config Comment="Example function",Runtime="cloudfront-js-1.0" \ --function-code fileb://function.js \ --if-match ETVABCEXAMPLE

命令成功后,您会看到类似以下内容的输出,其中描述了刚更新的函数。

ETag: ETVXYZEXAMPLE FunctionSummary: FunctionConfig: Comment: Example function Runtime: cloudfront-js-1.0 FunctionMetadata: CreatedTime: '2021-04-18T20:38:56.915000+00:00' FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction LastModifiedTime: '2021-04-19T23:41:15.389000+00:00' Stage: DEVELOPMENT Name: ExampleFunction Status: UNPUBLISHED