在AWS SQS中缺少s3事件

问题描述 投票:0回答:1

我有一个AWS Lambda函数,它应该由来自Simple Queue Service SQS的消息触发。当新的json文件写入我的s3存储桶时,或者当s3存储桶中的现有json文件被覆盖时,该SQS应该会收到通知。两种情况的事件类型都是s3:ObjectCreated,我看到这两种情况的通知都是我的SQS。现在,问题是s3中有一个新文件(或s3中更新的现有文件),但sqs中没有相应的消息!如此多的文件丢失,Lambda不知道应该处理这些文件。在Lambda中,我将收到的SQS有效负载的全部内容打印到日志文件中,然后尝试使用类似aws --profile aaa logs filter-log-events --log-group-name /aws/lambda/name --start-time 1554357600000 --end-time 1554396561982 --filter-pattern "missing_file_name_pattern"的内容找到那些丢失的文件,但找不到任何内容,这意味着没有为此丢失的文件生成s3:objectCreated事件。是否有一些条件阻止新的/更新的s3文件的s3:objectCreated事件?有办法解决吗?或某种解决方法,可能是?

amazon-web-services amazon-s3 aws-lambda amazon-sqs
1个回答
0
投票

两种可能性:

  1. Some events may be delayed or not sent at all:“亚马逊S3事件通知通常在几秒钟内发送事件,但有时可能需要一分钟或更长时间。在非常罕见的情况下,事件可能会丢失。”,尽管这种情况非常罕见。
  2. 您有一些错误,并且lambda要么在处理此消息时没有打印您所期望的/您没有正确搜索日志。

您还应该在SQS上确保所有记录都已被摄取并成功处理。

© www.soinside.com 2019 - 2024. All rights reserved.