AWS Lambda触发器没有云前

时间:2018-11-06 23:43:38

标签: aws-lambda amazon-cloudfront

我创建了一个新的lambda函数,但在触发器中没有将cloudfront作为选项。有人知道为什么会这样吗?谢谢

3 个答案:

答案 0 :(得分:1)

根据AWS当前文档:

  

确保您位于美国东部1(弗吉尼亚北部)地区。你必须   在此区域中创建 Lambda @ Edge 函数。

请参阅:AWS Tutorial: Creating a Simple Lambda@Edge Function

Select AWS region

答案 1 :(得分:0)

您无法从Lambda控制台添加。要为缓存行为添加触发器,您需要从CloudFront控制台执行。

此处有详细说明-https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-add-triggers-cf-console.html

答案 2 :(得分:0)

CloudFront的Lambda @ Edge集成功能需要使用Node.js编写功能。无法直接从CloudFront触发另一种语言的功能。

  

您必须使用<ios>nodejs6.10运行时属性创建函数。

     

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-requirements-limits.html#lambda-requirements-lambda-function-configuration

当然,在Node.js运行时环境中,您可以使用AWS Javascript SDK,因此,如果您有一个 really 引人注目的案例,则可以从Javascript函数中使用它来调用另一个,使用不同语言编写的不同Lambda函数...但是,由于增加了延迟和成本,因此很难想象这是有意义的常见情况,但是例如,我使用此解决方案允许Lambda @ Edge到达在VPC内部-只能通过从第一个Lambda函数中调用第二个Lambda函数(可以配置为具有VPC访问权限)来完成此操作(由于Lambda @ Edge函数在离查看器最近的区域中运行,因此无法执行),而不是在单个区域中,因此它们不会在VPC内运行。