【问题标题】:Find the size of S3 folders using PHP SDK使用 PHP SDK 查找 S3 文件夹的大小
【发布时间】:2020-06-19 12:54:57
【问题描述】:

我正在使用 S3 存储桶,但我找不到一种方法来检索存储桶中特定文件夹的大小

场景是:

我的网站/user1..../user2 上的每个用户都有一个文档,每个用户的空间有限(每个文件夹 1gb)。我需要在我的网站上显示他们仍然拥有的空间,例如:

Canheadd = consumed space (what I'm lookingfor) + new file size

确定用户是否仍有空间上传新文件。

我知道您可以循环使用objectlist,但对我来说这不是理想的事情,因为每个文档的数量和大小。

欢迎任何新的或直接的解决方案。

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-php-sdk


    【解决方案1】:

    没有“快速”的方法可以获取特定“文件夹”中使用的存储量。

    正确的方法是调用ListObjects(Prefix='folder/',...)遍历返回的对象并对每个对象的大小求和。请注意,每次调用最多返回 1000 个对象,因此代码可能需要重复调​​用 ListObjects

    如果此方法太慢,您可以维护一个包含所有对象及其大小的数据库,并在应用需要确定大小时查询该数据库。在创建/删除对象时使用 Amazon S3 事件触发 AWS Lambda 函数,以使数据库保持最新。这是一个相当复杂的方法,所以我建议第一种方法,除非有特定原因不可行。

    【讨论】:

      猜你喜欢
      • 2015-07-09
      • 2020-06-16
      • 2021-11-13
      • 2023-03-12
      • 2018-09-20
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多