amazon-web-services - 手动触发 Lambda 以读取 SQS
问题描述
是否可以创建一个手动触发以从 SQS 读取的 lambda。
我有一个不断接收消息的 SQS 队列,我想在需要时处理它们(不是连续同步处理)。
我可以有类似启动/停止 lambda 的东西,我在其中启动 lambda,它从 SQS 主动消耗,当我停止时它停止消耗
解决方案
通常,AWS Lambda 函数配置为从 Amazon SQS 队列“触发”。每当消息到达时,都会触发 Lambda 函数。
但是,您可以编写一个 AWS Lambda 函数来调用ReceiveMessages()
队列本身,而不是配置触发器。然后,Lambda 函数将负责DeleteMessage()
在处理完消息后进行调用。
您可以随时使用该Invoke()
命令调用 Lambda 函数。
您需要做出的唯一决定是 Lambda 函数是否应该处理:
- 每次调用一条消息,或
- 每次调用一批消息(最多 10 条),或
- 运行一个循环,不断从队列中检索消息,直到队列为空或 Lambda 函数超时(这可能会使消息部分处理,所以这不是一个好主意)
推荐阅读
- google-cloud-functions - Google Cloud Functions - 如何设置功能(交易机器人)
- tableau-api - 删除特定选定值的菜单选项?
- c++ - 在特定位置向字符串添加空格
- python - Python C 扩展优化速度 (Linux)
- sql - 将新的时间戳值插入到 kamailio 中的 acc 表
- python - python - 如何使用boto3使用python仅将更改的文件从一个S3 Bucket复制到另一个S3 Bucket?
- c# - 如何使用 puppeteer-sharp touchStart 和 touchEnd 和 touch move
- office365 - 如何保护 Office 加载项/防止其他公司安装或使用它
- quantum-computing - 密度矩阵与完整性关系的区别
- javascript - 对 SharePoint 搜索 API 的请求中的 SourceId 是什么?