更新函数
在测试函数的过程中,您可能需要更新函数代码。当您更新函数的代码时,它只会影响处于 DEVELOPMENT
阶段的函数的副本。处于 LIVE
阶段的函数代码不会更改。要更新 LIVE
阶段中的代码,您需要发布函数,该函数将其从 DEVELOPMENT
阶段复制到 LIVE
。
您可以在 CloudFront 控制台或使用 Amazon CLI 更新函数的代码。
- Console
-
要更新函数代码,您可以在 CloudFront 控制台中使用可视化代码编辑器。
要更新函数代码(控制台)
-
要更新现有函数,通过以下网址在 CloudFront 控制台中打开函数页面:https://console.amazonaws.cn/cloudfront/v3/home#/functions
,然后选择您想要更新的函数。 -
在函数页面上,选择构建选项卡。然后确保选择了函数的开发版本。您无法更新函数的实时版本。
-
使用控制台的代码编辑器更新函数代码。
更新代码时,代码编辑器可能会显示有关 JavaScript 语法的错误或警告。
-
更新完函数代码后,选择 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-matchETVABCEXAMPLE
命令成功后,您会看到类似以下内容的输出,其中描述了刚更新的函数。
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
-