Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 您可以使用修改AWS CloudFront事件上的URI吗Lambda@Edge使用Javascript以外的语言?_Amazon Web Services_Go_Aws Lambda_Amazon Cloudfront - Fatal编程技术网

Amazon web services 您可以使用修改AWS CloudFront事件上的URI吗Lambda@Edge使用Javascript以外的语言?

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

我正在尝试做一些AB测试,在AWS CloudFront设置中插入Lambda似乎是一个很好的方法。我的公司对NodeJs有问题。他们被一些使用它的老开发人员烧毁,并已禁止使用

Lambda支持多种语言,所以没什么大不了的。但是经过一些研究和寻找来源。似乎只有Javascript能够与CloudFront事件交互并向前传递请求。其他语言的所有库似乎只发出响应事件,不允许在修改后转发请求


我是遗漏了什么,还是这个场景只支持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同步调用触发器函数,然后阻塞(暂停自己的处理)在等待函数返回时