Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用Lambda按顺序处理S3事件_Amazon Web Services_Amazon S3_Aws Lambda - Fatal编程技术网

Amazon web services 使用Lambda按顺序处理S3事件

Amazon web services 使用Lambda按顺序处理S3事件,amazon-web-services,amazon-s3,aws-lambda,Amazon Web Services,Amazon S3,Aws Lambda,我正在设置一个S3桶。在这个S3存储桶中,数据将由外部进程写入 我正在设置一个AWS Lambda,当S3中的一个对象被创建/更新时,它将被触发,并将处理和存储数据到RDS中 我的问题如下: 如果对象在s3上写得太快,则可能存在多个Lambda函数 被同时触发 那么,在这种情况下,对象是否有可能不按照它们的顺序进行处理 是否写入S3存储桶 如果以上问题的答案是肯定的,那么对于Lambda,我必须将有效载荷推到 FIFO SQS并设置一个侦听器来处理有效负载,以便最终将数据存储到RDS中。遗憾的是

我正在设置一个S3桶。在这个S3存储桶中,数据将由外部进程写入

我正在设置一个AWS Lambda,当S3中的一个对象被创建/更新时,它将被触发,并将处理和存储数据到RDS中

我的问题如下:

如果对象在s3上写得太快,则可能存在多个Lambda函数 被同时触发

那么,在这种情况下,对象是否有可能不按照它们的顺序进行处理 是否写入S3存储桶

如果以上问题的答案是肯定的,那么对于Lambda,我必须将有效载荷推到
FIFO SQS并设置一个侦听器来处理有效负载,以便最终将数据存储到RDS中。

遗憾的是,它们不能保证有序。发件人:

事件通知不保证按照事件发生的顺序到达。但是,来自创建对象(PUTs)和删除对象的事件的通知包含一个sequencer,可用于确定给定对象键的事件顺序


在这种情况下,对于我的用例,我认为,我不能在Lambda中执行DB操作。我必须借助SQS FIFO队列,以便在处理事件时强制执行排序。我必须在队列上设置一个侦听器,在那里我必须实现DB操作。如果我错了,请纠正我。@Joy,是的。FIFO保证顺序,但仅在同一消息组内。所以你们的msg制作人必须确保它只将记录推送到组中。