首页 > 解决方案 > 如何检测 S3 中未映射到我们数据库的孤立对象?

问题描述

我正在尝试在 S3 存储桶中找到可能的孤儿。我的意思是我们可能会从数据库中删除某些内容,并且无论出于何种原因,它都不会从 S3 中清除。这可能是我们系统中的错误或类似的东西。我想再次检查我们的 API 是否 S3 中的对象映射到存在的东西 - 命名约定让我们像这样将东西映射在一起。

每 X 天刮一次整个存储桶似乎是不可扩展的。我在想,对于存储桶中的每个对象,它可以将自己添加到 SQS 队列中,以便每 30 天左右进行一次相关检查。

我只在https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html找到有关上传和特定修改的事件。还有什么更笼统的我找不到吗?这个问题有什么创造性的解决方案吗?

标签: amazon-web-servicesamazon-s3

解决方案


您应该激活Amazon S3 Inventory,它可以提供一个常规 CSV 文件(每天一次),其中包含 Amazon S3 存储桶中每个对象的列表。

然后,您可以触发一些代码,将 CSV 文件的内容与数据库进行比较以查找“孤儿”对象。


推荐阅读