将触发器添加到 Lambda@Edge 函数中
您可以使用 Amazon Lambda 控制台或 Amazon CloudFront 控制台向 Lambda@Edge 函数中添加触发器。
重要
您只能为函数的编号版本(不能为 $LATEST)创建触发器。
- Lambda console
-
将 CloudFront 事件的触发器添加到 Lambda@Edge 函数
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Lambda 控制台:https://console.aws.amazon.com/lambda/
。 -
在页面顶部的“区域”列表中,选择美国东部(弗吉尼亚州北部)。
-
在函数页面上,选择您要为其添加触发器的函数的名称。
-
在函数概述页面上,选择版本选项卡。
-
选择您要为其添加触发器的版本。
选择某个版本后,相应按钮的名称会更改为 Version: $LATEST 或 Version: 版本号。
-
选择触发器选项卡。
-
选择添加触发器。
-
在触发器配置中,选择选择源,输入
cloudfront
,然后选择 CloudFront。注意
如果您已创建一个或多个触发器,则 CloudFront 为默认服务。
-
指定以下值,以指示您希望 Lambda 函数何时执行。
-
分配 – 选择要向其中添加触发器的分配。
-
缓存行为 – 选择缓存行为,该行为将指定您要对其执行函数的对象。
注意
如果您对缓存行为指定
*
,则 Lambda 函数会部署到默认缓存行为。 -
CloudFront 事件 – 选择促使函数执行的 CloudFront 事件。
-
包括正文 – 如果要在函数中访问请求正文,请选中该复选框。
-
确认部署到 Lambda@Edge – 选中该复选框,以便 Amazon Lambda 将函数复制到全球各地的 Amazon Web Services 区域。
-
-
选择添加。
在更新的 CloudFront 分配部署后,函数开始处理指定 CloudFront 事件的请求。要确定是否已部署分配,请在导航窗格中选择分配。在部署分配后,分配的状态列的值将从正在部署更改为部署日期和时间。
- CloudFront console
-
将 CloudFront 事件的触发器添加到 Lambda@Edge 函数
-
获取您要为其添加触发器的 Lambda 函数的 ARN:
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Lambda 控制台:https://console.aws.amazon.com/lambda/
。 -
在页面顶部的区域列表中,选择美国东部(弗吉尼亚州北部)。
-
在函数列表中,选择您要为其添加触发器的函数的名称。
-
在函数概述页面上,选择版本选项卡,然后再选择要为其添加触发器的带编号的版本。
-
选择复制 ARN 按钮,将 ARN 复制到剪贴板。Lambda 函数的 ARN 如下所示:
arn:aws:lambda:us-east-1:123456789012:function:TestFunction:2
末尾的号码(在本示例中为 2)是函数的版本号。
通过 https://console.amazonaws.cn/cloudfront/v4/home
打开 CloudFront 控制台 -
在分配列表中,选择要为其添加触发器的分配的 ID。
-
选择行为选项卡。
-
选择要为其添加触发器的缓存行为,然后选择编辑。
-
对于函数关联,请在函数类型列表中,选择 Lambda@Edge,以确定您希望何时执行函数:针对查看器请求、查看器响应、源请求或源响应。
有关更多信息,请参阅 选择要触发函数的事件。
-
在函数 ARN/名称文本框中,粘贴当所选事件发生时您要执行的 Lambda 函数的 ARN。这是您从 Lambda 控制台复制的值。
-
如果要在函数中访问请求正文,请选择包含正文。
如果您仅希望替换请求正文,则不需要选择该选项。
-
要对更多事件类型执行同一函数,请重复步骤 6 和 7。
-
选择 Save changes(保存更改)。
-
要针对该分配为更多缓存行为添加触发器,请重复步骤 5 到 10。
在更新的 CloudFront 分配部署后,函数开始处理指定 CloudFront 事件的请求。要确定是否已部署分配,请在导航窗格中选择分配。在部署分配后,分配的状态列的值将从正在部署更改为部署时间和日期。
-