【发布时间】:2021-04-02 21:02:45
【问题描述】:
我有一个连接到 CloudFront 分配的 Lambda Edge。我想要做的是使用Serverless Framework 发布 lambda(而不是手动上传文件并单击“部署到 Lambda@Edge”)。我尝试做的是查看无服务器文档,将此 yml 文件添加到项目中并运行部署脚本
service: cloudfront-service
provider:
name: aws
runtime: nodejs10.x
functions:
cfLambda:
handler: index.handler
events:
- cloudFront:
eventType: origin-request
origin: <CloudFront-Origin-ID>
这部署了 Lambda,但未将其附加到 CloudFront(尚未发布,也没有相关的版本或触发器)。那么如何使用现有的 CloudFront 分配来做到这一点呢?
【问题讨论】:
-
不知道无服务器,但如果您使用 AWS,为什么不使用 Cloudformation?他们的文档非常好
-
Idk,编写 Lambda 的开发人员出于某种原因决定不这样做,导致现在出现此类问题。顺便说一句,Serverless 正是这样做的,它使用 Lambda 和您在其配置文件中指定的资源创建了一个 CloudFormation 堆栈(例如,我用它来部署一个附加到 API 网关的 Lambda 函数。只需在yaml 配置文件和所有内容都已为我创建。我强烈建议您查看此框架;))
-
同意,请忽略@hazirovich 的评论
-
不知道这在使用无服务器时是否相关,但据我所知 CloudFront 尚不支持 lambda@edge 的 nodejs12.x。
-
是的,我找到了,但与问题无关,因为它也不适用于 Node10:/
标签: amazon-cloudfront serverless-framework aws-lambda-edge