【问题标题】:Efficient way to find and delete s3 objects with extension查找和删除具有扩展名的 s3 对象的有效方法
【发布时间】:2019-12-19 22:03:50
【问题描述】:

我在 S3 中有一个存储桶,我想删除所有具有特定扩展名的对象。 最简单的解决方案是列出所有键并检查它是否以扩展名结尾并删除它,但这种解决方案非常昂贵。任何人都可以提出任何有效的方法来实现这一目标吗?

【问题讨论】:

  • 您认为该解决方案的哪个元素“成本高昂”? DELETE 请求是免费的,那么您的担忧与列出对象的成本有关吗?桶中有多少个对象?

标签: amazon-web-services amazon-s3 boto3


【解决方案1】:

如果您不需要最新的准确性,请查看S3 Inventory report。

或者,您可能必须在 DynamoDB 或其他地方创建 S3 对象的索引,以便您可以轻松找到具有给定后缀的对象。或者甚至考虑重组您的密钥,使其以文件扩展名开头,然后您可以列出诸如 csv/ 之类的前缀(显然这可能会在您的应用程序的其他地方产生负面影响,因此不一定是一个好的解决方案)。

请注意,在 S3 标准中列出对象的价格为每 1000 个请求 0.005 美元,每个请求将返回最多 1000 个 S3 密钥。我不确定您会列出多少个键,但每百万个对象 0.005 美元。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2020-01-17
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    相关资源
    最近更新 更多