Amazon web services 您可以使用修改AWS CloudFront事件上的URI吗Lambda@Edge使用Javascript以外的语言?
我正在尝试做一些AB测试,在AWS CloudFront设置中插入Lambda似乎是一个很好的方法。我的公司对NodeJs有问题。他们被一些使用它的老开发人员烧毁,并已禁止使用 Lambda支持多种语言,所以没什么大不了的。但是经过一些研究和寻找来源。似乎只有Javascript能够与CloudFront事件交互并向前传递请求。其他语言的所有库似乎只发出响应事件,不允许在修改后转发请求Amazon web services 您可以使用修改AWS CloudFront事件上的URI吗Lambda@Edge使用Javascript以外的语言?,amazon-web-services,go,aws-lambda,amazon-cloudfront,Amazon Web Services,Go,Aws Lambda,Amazon Cloudfront,我正在尝试做一些AB测试,在AWS CloudFront设置中插入Lambda似乎是一个很好的方法。我的公司对NodeJs有问题。他们被一些使用它的老开发人员烧毁,并已禁止使用 Lambda支持多种语言,所以没什么大不了的。但是经过一些研究和寻找来源。似乎只有Javascript能够与CloudFront事件交互并向前传递请求。其他语言的所有库似乎只发出响应事件,不允许在修改后转发请求 我是遗漏了什么,还是这个场景只支持JS?Lambda@Edge仅支持Node.js运行时 必须使用nodejs
我是遗漏了什么,还是这个场景只支持JS?Lambda@Edge仅支持Node.js运行时 必须使用
nodejs6.10
或nodejs8.10
runtime属性创建函数
您对其他运行时的观察“似乎只发出响应事件,不允许在修改后转发请求”,实际上并不能准确地表示所发生的情况。Node.js没有任何特殊的“向前传递”魔法。CloudFront解释来自Lambda函数的响应负载,以确定如何继续。如果它是一个请求触发器,并且Lambda函数返回类似于请求的结构化内容,那么CloudFront将继续处理该请求,如修改后所示。否则,CloudFront将响应负载解释为要返回给调用方的响应。一切都由CloudFront对Lambda函数返回内容的解释来处理
任何Lambda运行时理论上都可以达到相同的目的,但是Lambda@Egde是为Node.js运行时而设计的,目前仅支持Node.js运行时,它是轻量级和快速的,因为CloudFront同步调用触发器函数,然后阻塞(暂停自己的处理)等待函数返回时。Lambda@Edge仅支持Node.js运行时 必须使用
nodejs6.10
或nodejs8.10
runtime属性创建函数
您对其他运行时的观察“似乎只发出响应事件,不允许在修改后转发请求”,实际上并不能准确地表示所发生的情况。Node.js没有任何特殊的“向前传递”魔法。CloudFront解释来自Lambda函数的响应负载,以确定如何继续。如果它是一个请求触发器,并且Lambda函数返回类似于请求的结构化内容,那么CloudFront将继续处理该请求,如修改后所示。否则,CloudFront将响应负载解释为要返回给调用方的响应。一切都由CloudFront对Lambda函数返回内容的解释来处理
任何Lambda运行时理论上都可以达到相同的目的,但是Lambda@Egde是为Node.js运行时而设计的,目前仅支持Node.js运行时,它是轻量级和快速的,因为CloudFront同步调用触发器函数,然后阻塞(暂停自己的处理)在等待函数返回时