小编nar*_*ibo的帖子

从 Lambda@Edge 触发另一个 Lambda 函数

我想从 Lambda@Edge 卸载一些功能以加快响应时间。这意味着在我的 Lambda@Edge 中触发另一个 Lambda 函数。

Lambda@Edge 将应用程序分布在所有区域,因此当发出请求时,它将在距离请求者最近的区域执行应用程序。

我当前的解决方案是在所有区域创建一个具有相同主题名称的 SNS,让 us-east-1 中的 SQS 监听所有这些 SNS 主题,并使用 Lambda 函数监听 SQS。

然而,在每个地区创建一个SNS 维护起来相当麻烦。

关于如何在 Lambda@Edge 中触发另一个 Lambda 函数,还有其他建议吗?

谢谢!

amazon-sqs amazon-web-services amazon-sns aws-lambda aws-lambda-edge

5
推荐指数
1
解决办法
1573
查看次数

AWS SQS长轮询不会减少空接收

目前,我有一个AWS SQS作为我的AWS Lambda函数的触发器。

我想实施长时间轮询以降低成本,因为我已经用完了每月免费套餐的70%,其中大部分来自空收据。

我尝试通过将queue属性更改为ReceiveMessageWaitTimeSeconds来设置长轮询20 seconds

SQS详细信息显示ReceiveMessageWaitTimeSeconds设置为20s

但是,这似乎并没有减少空接收的数量,在2:00-3:00之间的11/19更改了设置。 即使设置了长时间轮询,“空接收”图仍显示相同的趋势

根据AWS文档WaitTimeSeconds优先级高于队列属性ReceiveMessageWaitTimeSeconds

通过以下两种方式之一将ReceiveMessage请求的WaitTimeSeconds参数设置为0时,将发生短轮询:

  • ReceiveMessage调用将WaitTimeSeconds设置为0。
  • ReceiveMessage调用未设置WaitTimeSeconds,但是队列属性ReceiveMessageWaitTimeSeconds设置为0。

注意

对于ReceiveMessage操作的WaitTimeSeconds参数,在1到20之间设置的值优先于为队列属性ReceiveMessageWaitTimeSeconds设置的任何值。

由于AWS Lambda正在接收SQS请求,因此我认为WaitTimeSeconds无法对其进行配置。

为什么我的长轮询配置在这种情况下不起作用?我是误解了什么,还是配置错误?

谢谢!

amazon-sqs amazon-web-services long-polling aws-lambda

3
推荐指数
1
解决办法
841
查看次数

AWS Aurora 的公共 IP 是否可行?

AWS 文档指出 Aurora Serverless DB 不能拥有公共 IP 地址:

您无法为 Aurora Serverless 数据库集群提供公共 IP 地址。您只能从基于 Amazon VPC 服务的 Virtual Private Cloud (VPC) 内访问 Aurora Serverless 数据库集群。

然而,这让我感到困惑,因为我只能将“公共可访问性”设置为“是”。我还能够使用指定的端点连接到 VPC 外部的数据库。

在此输入图像描述

我是否误解了限制(公共IP)?或者这是最近才成为可能的事情?

谢谢你!

amazon-web-services aws-aurora-serverless

1
推荐指数
1
解决办法
2653
查看次数