【问题标题】:Why are my AWS S3 object counts different为什么我的 AWS S3 对象计数不同
【发布时间】:2021-06-01 14:10:34
【问题描述】:

我是 AWS S3 的新手,最近制作了许多 S3 存储桶的副本。

一切似乎都运行良好,但是一些新的目标 S3 存储桶对象计数与源 S3 存储桶不匹配。

有问题的 S3 存储桶有多个子文件夹,其中计数不同且很小,我可以手动检查。在这些情况下,源计数似乎是错误的,因为报告的计数是 8,而实际上我总共只有 7 个对象。新的 S3 目标存储桶报告 7 个对象。

在其他情况下,有 1000 个对象,我无法手动检查。

如果存在差异,源计数始终大于目标计数。

我感觉这些差异是由过去从源 S3 存储桶中删除的对象造成的,并且计数未刷新以反映这一点。

AWS S3 是否有可以重置 S3 存储桶对象计数的函数/进程?

如何确保所有源对象都已复制到我的新 S3 目标 S3 存储桶?

为了获得计数,我使用了以下 AWS S3 管理控制台功能...

【问题讨论】:

  • 你能把代码贴出来吗?
  • @TonyYip 我没有使用任何“代码”我使用了 S3 管理控制台

标签: amazon-web-services amazon-s3


【解决方案1】:

我以前见过这个。差异通常是由于“文件夹”造成的。

当用户单击 S3 管理控制台中的“创建文件夹”按钮时,它会创建一个与文件夹同名的零长度对象。这会“强制”S3 显示该文件夹,即使它是空的。

Amazon S3 实际上并不需要创建文件夹(事实上,它们实际上并不存在!)。根据您在存储桶之间复制对象的方式,这些零长度对象可能未被复制

您可以在您拥有的小桶中轻松对此进行测试。只需列出存储桶并查找长度为零的对象,如下所示:

aws s3api list-objects --bucket my-bucket --query 'Contents[].[Key,Size]' --output text

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2021-05-17
    • 2018-11-18
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多