amazon-web-services - 为什么从 SQS 调用时 Lambda 会受到限制?

标签 amazon-web-services aws-lambda amazon-sqs

我有一个 SQS 队列,用作 Lambda 函数的事件源。由于数据库连接限制,我将 Lambda 函数的最大并发数设置为 5。

正常情况下,一切正常,但是当我们需要进行更改时,我们故意禁用SQS触发器。消息开始按预期备份在 SQS 队列中。

重新启用触发器时,会实例化 5 个 Lambda 函数,并开始处理队列中的消息,但我也看到 CloudWatch 告诉我 Lambda 受到限制。

请有人解释一下为什么会发生这种情况?我希望可用的 Lambda 函数能够尽可能快地处理积压的工作,并且不会因为队列而出现限制。

最佳答案

这是预期的行为。

“达到与函数关联的并发限制后,对该函数的任何进一步调用请求都会受到限制,即该调用不会执行您的函数。每个受限制的调用都会增加该函数的 Amazon CloudWatch Throttles 指标”

https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html

关于amazon-web-services - 为什么从 SQS 调用时 Lambda 会受到限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54599015/

相关文章:

node.js - AWS SQS 从 lambda 触发到 Amazon Lightsails

node.js - AWS LEX Web UI 示例

aws-lambda - 具有 Last-Modified header 的 Api 网关 304 响应

amazon-web-services - SNS 可以路由到多个 SQS 延迟队列之一吗?

amazon-web-services - 是否可以使用实例模板中的 run_instances ?

amazon-web-services - 按标签划分的 AWS Cloudfront 分配 ID

amazon-web-services - Amazon CloudFront 中的无效文件请求如何计费?

node.js - 压缩 AWS Lambda 响应以避免 6MB 限制有什么好处?

amazon-web-services - 让 SQS 死信队列与 Spring Boot 和 JMS 一起使用

amazon-web-services - 如何在触发 lambda 后将消息保留在 SQS 上