Mak*_*oni 5 python amazon-sqs amazon-web-services aws-lambda aws-api-gateway
我想使用 API Gateway 向 SQS 发送消息,然后需要触发 Lambda。在 Lambda 中完成计算后,我需要将结果传递回 API Gateway。换句话说,是这样的:
Get request --> Gateway API --> SQS --> Lambda --> (back to the same SQS?) --> Gateway API
Run Code Online (Sandbox Code Playgroud)
我已经设置了所有必要的权限,这意味着我可以调用网关 API 并将消息发送到 SQS,然后 SQS 将其发送到 Lambda(我可以在 Cloudwatch 中看到 Lambda 收到了消息)。但是,我无法将 Lambda 响应返回到网关 API...
有人对此有一些建议/教程/博客文章吗?我观看了各种 YouTube 视频并搜索了 SO 上的帖子,但没有找到解决我的问题的方法。
AWS Lambda 可以处理大量并发调用。默认值为 1000(一千),可以通过支持票增加到“数十万”。
如果您想使用 SQS 来平滑间歇性请求峰值,那么 Lambda 函数调用将相对于调用方/客户端的 API 网关调用异步,您需要使用其他方式将 Lambda 调用结果反馈给 API 网关调用方/客户端。
其中一种可能是回调 URL,您的 Lambda 在处理完调用后将在调用方/客户端侧调用该回调 URL。或者,您可以将 lambda 调用结果存储在某处(例如 S3 或 DynamoDB),并且调用者/客户端可以使用轮询定期询问调用结果(检查它是否准备好,如果准备好,则检索它)。
无论哪种方式,一旦您使用 SQS 将API Gateway 调用与 Lambda 函数通过 SQS 消息对这些调用的处理分离,那么 Lambda 调用的处理将与 API Gateway 调用方/客户端请求异步。因此,API网关调用方/客户端的HTTP请求将立即返回,而无需等待Lambda调用结果。
| 归档时间: |
|
| 查看次数: |
3815 次 |
| 最近记录: |