我正在尝试触发 Lambda 执行以执行 FIFO 队列上的项目。除了轮询之外,我们还有哪些选项可以完成这个任务?我们刚刚得知,在当前时刻,我们无法直接从 FIFO 队列触发 Lambda 执行,而只能从标准队列支持此操作。
我还了解到,我们无法将 SNS 主题订阅到 FIFO 队列 - 这也仅受标准队列支持。
在亚马逊发布更新之前,是否有人找到了解决方法?
我正在尝试触发 Lambda 执行以执行 FIFO 队列上的项目。除了轮询之外,我们还有哪些选项可以完成这个任务?我们刚刚得知,在当前时刻,我们无法直接从 FIFO 队列触发 Lambda 执行,而只能从标准队列支持此操作。
我还了解到,我们无法将 SNS 主题订阅到 FIFO 队列 - 这也仅受标准队列支持。
在亚马逊发布更新之前,是否有人找到了解决方法?
你的唯一选择是按照一定间隔轮询队列。
你可以创建一个 CloudWatch 事件触发器
,它会调用一个 lambda
函数(比如每10分钟)来轮询队列并进行处理。
现在已经可以了。SQS FIFO 队列现在可以被指定为 Lambda 函数的事件源。
https://aws.amazon.com/blogs/compute/new-for-aws-lambda-sqs-fifo-as-an-event-source/
SQS事件源不做任何事情,只是每秒钟使用长轮询从队列中拉取。
如果您想让一切有序; - 为每秒钟创建一个Cloudwatch事件触发器(如Asdfg建议的那样) - 将并发限制设置为1 - 使用长轮询接收消息以降低成本