我有一个 AWS Lambda 函数,应该由 Simple Queue Service SQS 中的消息触发。当新的json文件被写入我的s3存储桶或者现有的json文件被覆盖时,该SQS应该会收到通知。两种情况下的事件类型都是s3:ObjectCreated,我在我的 SQS 中看到了这两种情况的通知。
但问题是,经常有一个新文件在s3中(或者更新了现有文件),但在 sqs 中没有相应的消息!因此许多文件丢失了,Lambda 不知道应该处理这些文件。在 Lambda 中,我将接收到的整个 SQS payload 的内容打印到日志文件中,然后尝试使用类似
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事件?有办法解决吗?还是采用某种变通方法?
s3:ObjectCreated:*
事件,对吗? - Michael - sqlbot