我是AWS S3的新手,最近复制了许多S3桶。
一切看起来都很好,但是一些新的目的地S3存储桶对象计数与源S3存储桶不匹配。
问题中的S3桶有多个子文件夹,其中计数不同,而且很小,我可以手动检查。在这些情况下,似乎源计数是错误的,因为所报告的计数是8,而实际上我总共只有7个对象。新的S3目标桶报告了7个对象。
在其他情况下,有1000多个对象,我无法手动检查。
在存在差异的地方,源计数总是大于目标计数。
我觉得这些差异是由过去从源S3桶中删除的对象造成的,计数没有刷新以反映这一点。
AWS S3是否有一个可以重置S3桶对象计数的函数/进程?
如何确保所有源对象都已复制到新的S3目的地S3存储桶中?
为了获得计数,我使用了以下AWS S3管理控制台函数.

发布于 2021-06-02 00:19:54
我以前见过这个。这种差异通常是由于“文件夹”。
当用户单击S3管理控制台中的“创建文件夹”按钮时,它会创建一个与该文件夹同名的零长度对象。这“强制”S3显示文件夹,即使它是空的。
亚马逊S3实际上不需要创建文件夹(事实上,它们实际上并不存在!)根据您如何在存储桶之间复制对象,--这些零长度对象可能没有被复制。
您可以很容易地在您拥有的小桶中测试这一点。只需列出桶并查找如下所示的零长度对象:
aws s3api list-objects --bucket my-bucket --query 'Contents[].[Key,Size]' --output texthttps://stackoverflow.com/questions/67790428
复制相似问题