问题标签 [aws-lambda-edge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
87 浏览

aws-lambda - AWS EC2 到 cloudwatch 事件到 lambda 到 SNS

我需要一个函数,将来自 Cloudwatch 的输入捕获到 Lambda 并发送到 SNS。有人有那个流程的样本吗?

0 投票
1 回答
50 浏览

amazon-web-services - AWS / lambda 上带有 db 的 Web 服务

我是整个 AWS 世界的新手,在涉及 Lambda@edge 时对术语感到困惑。我有一个简单的案例,其中 Web 服务需要具有高可用性。

网站加载一个 JS,其中包含对 Web 服务的 AJAX 调用以从数据库中获取信息。

我可以在 AWS Cloudfront 上托管 JS 文件,但我不确定如何使用 AWS 进行 Web 服务和数据库设置。

我可以使用 db 托管 Spring Web 服务 @Edge 吗?任何阅读材料或视频将不胜感激。

0 投票
1 回答
981 浏览

amazon-s3 - 将特定标头添加到对 AWS S3 文件的 HEAD 响应

我想知道文件的大小来决定我是否要发出 GET 请求来下载它。该文件位于我的 AWS S3 存储桶中。

我知道向同一个 URL 发出 HEAD 请求是个好主意,因此它会返回“Content-Length”,尽管我的前端无法使用它(在浏览器上运行的 JavaScript 代码)

我读过我需要将下面的标题设置为 HEAD 响应:

我还发现我可以使用 Lambda@Edge 将此标头添加到响应中,但我没有使用 Cloudfront 来提供此文件。通过直接从 S3 触发 Lambda@Edge(作为事件),我找不到处理 HEAD 请求的方法,只有 PUT、POST 和 DELETE。

包含此标题的任何想法?

0 投票
0 回答
1338 浏览

amazon-web-services - AWS Lambda@Edge 的缓存选项

为 AWS Lambda@Edge 实施本地缓存的最佳方式是什么?

这是上下文:我们在 CloudFront 中有 lambda@edge 触发器,需要从公共互联网检索公钥。此密钥会定期轮换。从 lambda@edge 向公共互联网进行公共调用会引入延迟损失,因此我们希望缓存数据。当然,我们可以使用 ElastiCache 或 DynamoDB 作为缓存层,但这会抵消在边缘位置运行 lambda 的好处,因为它需要与其中一个区域的资源通信。

我能想到的一种方法是将数据存储在启用 CloudFront 分配的静态网站 S3 存储桶中。如果我理解正确,这意味着该文件也将出现在 CloudFront 上,位于与 lambda 本身相同的边缘位置。然后 Lambda 可以调用静态网站并从边缘缓存中检索该文件。这是一个有效的模式吗?有更好的解决方案吗?

0 投票
1 回答
553 浏览

amazon-web-services - AWS CloudFront Lambda@Edge 部署

我是 AWS 世界的新手,正在尝试从 Github 项目创建 Lambda@Edge。我浏览了本教程,可以从 AWS 控制台创建 lambda。

现在我知道了我想为 lambda 处理程序创建一个 GitHub 项目并从那里部署它的基础知识。

我在这里浏览了 AWS 文档。现在我很困惑该怎么办。Lambda@Edge 函数我创建了对 Route 53 域的调用(这是公开 DynamoDB API 的 API Gateway 的自定义 CNAME)。所以我觉得我在中间该走哪条路?这是 SAM 或云形成的最佳案例吗?

https://docs.aws.amazon.com/lambda/latest/dg/deploying-lambda-apps.html

0 投票
1 回答
607 浏览

aws-lambda - 基于 cookie 的两个源之间的 Lambda@Edge 路由

有人可以告诉我如何使用 Lambda@Edge 基于 cookie 路由到 2 个不同的来源吗?我尝试了下面的代码,但它不起作用。提前致谢。

0 投票
1 回答
911 浏览

amazon-web-services - 查看器请求和查看器响应的单个 Lambda@Edge 函数调用

我目前有两个 Lambda@Edge 函数:

  • 语言重定向:根据查看器请求调用,返回 302 或将请求传递给 CloudFront
  • HSTS:在查看器响应时调用,添加响应标头

目前的流量是:

是否可以将两者结合在一个函数(组合)中,每个查看器请求仅调用一次?

目标是调用一次相同的函数,而不是调用两次相同的函数。

0 投票
1 回答
1339 浏览

amazon-web-services - 如何使用 Lambda@Edge 检测用户国家并重定向到 /pt 等本地化子文件夹?

我正在使用以下 Lambda@Edge 代码,但不知道该怎么做。

以下代码使子目录根索引在 Cloudfront 上工作。

Cloudfront 是否应要求提供原产国?

0 投票
2 回答
722 浏览

aws-lambda - 有没有办法在 Lambda@Edge 中加载外部数据

我试图使用 Lambda@Edge 在我的站点中处理 A/B 测试。我想知道有没有办法让 Lambada@Edge 函数从 url 加载外部配置数据,例如。我创建了一个 api 来返回 A/B 通道的流量速率,我想控制外部的配置数据,这样我就可以动态调整流向 A 或 B 通道的流量,而无需修改 Lambda 函数。我现在做的是

我想知道这个变量“版本”可以正确加载并在以后的每个请求中共享

你有一些更有效的解决方案吗?

0 投票
1 回答
43 浏览

amazon-web-services - 如何在 AWS Lambda@Edge 中访问浏览器 X509 SAN 属性

我已经搜索了 AWS 文档,但没有找到有关如何执行此操作的提示。

我是 Lambda@Edge 新手,正在将旧版 apache Web 服务器应用程序移植到该平台。

在 apache Web 服务器和 nginx 中,我们可以通过环境变量访问 X509 证书属性,AWS Lambda@Edge 似乎没有“喜欢”的能力。

AWS Lambda 函数是否可以在 @Edge 平台中访问浏览器的 X509 属性?

谢谢