Amazon web services Lambda是否同步处理SQS事件?

Amazon web services Lambda是否同步处理SQS事件?,amazon-web-services,aws-lambda,amazon-sqs,Amazon Web Services,Aws Lambda,Amazon Sqs,我想创建一个lambda函数来监听SQS队列 我唯一关心的是:我需要队列中的每个项目等待lambda函数处理前一个项目。我担心每次在队列中推送新事件时,lambda都会在不检查前一个函数是否仍在运行的情况下执行 可以这样做吗?Lambda和SQS之间没有直接集成。换句话说,不能将SQS队列添加为Lambda函数的事件源。至少现在还没有 您仍然可以编写一个Lambda函数来轮询SQS并处理队列中的消息。该函数最多只能运行5分钟,但您可以将CloudWatch计划事件设置为每5分钟运行一次,以保持L

我想创建一个lambda函数来监听SQS队列

我唯一关心的是:我需要队列中的每个项目等待lambda函数处理前一个项目。我担心每次在队列中推送新事件时,lambda都会在不检查前一个函数是否仍在运行的情况下执行


可以这样做吗?

Lambda和SQS之间没有直接集成。换句话说,不能将SQS队列添加为Lambda函数的事件源。至少现在还没有

您仍然可以编写一个Lambda函数来轮询SQS并处理队列中的消息。该函数最多只能运行5分钟,但您可以将CloudWatch计划事件设置为每5分钟运行一次,以保持Lambda函数的运行

Lambda函数之间没有内置的协调,因此如果同时运行函数的两个实例,它们都将独立地从队列中读取,并且不知道其他函数在做什么


为什么这种协调对您很重要?

Lambda和SQS之间没有直接集成。换句话说,不能将SQS队列添加为Lambda函数的事件源。至少现在还没有

您仍然可以编写一个Lambda函数来轮询SQS并处理队列中的消息。该函数最多只能运行5分钟,但您可以将CloudWatch计划事件设置为每5分钟运行一次,以保持Lambda函数的运行

Lambda函数之间没有内置的协调,因此如果同时运行函数的两个实例,它们都将独立地从队列中读取,并且不知道其他函数在做什么


为什么协调对您很重要?

谢谢您的回答。我需要一个同步行为,因为每次执行lambda时,它都会根据之前是否有数据填充数据库。但是,如果多个lambda同时运行,则都会被视为当天的“第一次”调用,因为在第一次调用期间尚未写入数据库。如果要使数据插入到数据库中成为幂等操作,您应该这样做。即使您能够“序列化”SQS中的记录,也不能保证SQS中的消息只传递一次。保证至少交付一次。@theofabry Lambda(和SQS)对您的问题是错误的解决方案。谢谢您的回答。我需要一个同步行为,因为每次执行lambda时,它都会根据之前是否有数据填充数据库。但是,如果多个lambda同时运行,则都会被视为当天的“第一次”调用,因为在第一次调用期间尚未写入数据库。如果要使数据插入到数据库中成为幂等操作,您应该这样做。即使您能够“序列化”SQS中的记录,也不能保证SQS中的消息只传递一次。保证至少交付一次。@theofabry Lambda(和SQS)对您的问题是错误的解决方案。