

# 编辑 Lambda 函数
<a name="lambda-edge-edit-function"></a>

在创建 Lambda@Edge 函数后，可以使用 Lambda 控制台对其进行编辑。

**备注**  
原始版本标记为 \$1LATEST。
您只能编辑 \$1LATEST 版本。
每次编辑 \$1LATEST 版本时，均必须发布带编号的新版本。
您无法为 \$1LATEST 创建触发器。
当您发布函数的新版本时，Lambda 不会将触发器从以前的版本自动复制到新版本中。您必须为新版本重现触发器。
当您将 CloudFront 事件的触发器添加到函数中时，如果已经有一个针对相同分配、缓存行为和同一函数早期版本的事件的触发器，则 Lambda 会从早期版本中删除该触发器。
在更新 CloudFront 分配（如添加触发器）后，您必须等待更改传播到边缘站点，您在触发器中指定的函数才能运行。<a name="lambda-edge-edit-function-procedure"></a>

**要编辑 Lambda 函数**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 AWS Lambda 控制台：[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)。

1. 在页面顶部的“区域”列表中，选择**美国东部（弗吉尼亚州北部）**。

1. 在函数列表中，选择函数的名称。

   默认情况下，控制台会显示 \$1LATEST 版本。您可以查看早期版本（选择 **Qualifiers**），但是只能编辑 \$1LATEST。

1. 在**代码**选项卡上，对于**代码输入种类**，选择在浏览器中编辑代码、上传 .zip 文件，或从 Amazon S3 上传文件。

1. 选择**保存**或**保存并测试**。

1. 选择**操作**，然后选择**发布新版本**。

1. 在 **Publish new version from \$1LATEST** 对话框中，输入新版本的描述。此描述会与自动生成的版本号一起显示在版本列表中。

1. 选择 **Publish**。

   新版本将自动成为最新版本。版本号会显示在页面左上角的**版本**中。
**注意**  
如果您尚未为函数添加触发器，请参阅 [为 Lambda@Edge 函数添加触发器](lambda-edge-add-triggers.md)。

1. 选择**触发器**选项卡。

1. 选择 **Add trigger**。

1. 在**添加触发器**对话框中，选择虚线框，然后再选择 **CloudFront**。
**注意**  
如果您已为函数创建一个或多个触发器，则 CloudFront 为默认服务。

1. 指定以下值，以指示您希望 Lambda 函数何时执行。

   1. **分配 ID** – 选择要向其中添加触发器的分配的 ID。

   1. **缓存行为** – 选择缓存行为，该行为将指定您要对其执行函数的对象。

   1. **CloudFront 事件** – 选择促使函数执行的 CloudFront 事件。

   1. **启用触发器并复制** – 选中此复选框，以便 Lambda 将函数复制到全球各地的 AWS 区域。

1. 选择 **Submit**。

1. 要为该函数添加更多触发器，请重复步骤 10 到 13。

有关在 Lambda 控制台中测试和调试函数的更多信息，请参阅《AWS Lambda 开发人员指南》**中的[使用控制台调用 Lambda 函数](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#get-started-invoke-manually)。

当您准备好为 CloudFront 事件执行函数时，发布另一个版本并编辑该函数以添加触发器。有关更多信息，请参阅 [为 Lambda@Edge 函数添加触发器](lambda-edge-add-triggers.md)。