如何删除/统计 s3 存储桶中的对象?

2024-05-07

所以我知道这是一个常见问题,但似乎没有任何好的答案。

我有一个桶,里面有大量(我不知道有多少)文件。都在2k一个以内。

1)我如何知道我有多少个这些文件没有列出他们? 我使用过 s3cmd.rb、aws/s3 和 jets3t 的东西,我能找到的最好的命令是计算前 1000 条记录的命令(真正对它们执行 GETS)。

我也一直在使用 jets3t 的小程序,因为它确实很好用,但即使如此,我也无法列出所有对象,因为我用完了堆空间。 (大概是因为它正在对所有这些执行 GETS 并将它们保留在内存中)

2)如何删除一个存储桶? 我见过的最好的事情是并行删除循环,并且存在问题,因为有时它会尝试删除同一文件。这就是我遇到的所有“deleteall”命令的作用。

你们那些吹嘘拥有数百万张图像/文本的人在做什么?当你想删除它时会发生什么?

3)最后,这个问题还有其他答案吗?所有这些文件都是 txt/xml 文件,所以我什至不确定 S3 是否是一个值得关注的问题——也许我应该将其移至某种文档数据库?

归根结底,亚马逊 S3 API 直接缺少 2 个非常重要的操作——COUNT 和 DEL_BUCKET。 (实际上有一个删除存储桶命令,但它仅在存储桶为空时才有效)如果有人想出一种不适合执行这两个操作的方法,我很乐意放弃大量赏金。

UPDATE

只是回答几个问题。我问这个问题的原因是,在过去一年左右的时间里,我已经存储了数十万个,更像是数百万个 2k txt 和 xml 文档。上一次,几个月前,我希望删除存储桶,实际上花了几天时间才完成,因为存储桶必须是空的才能删除它。这实在是太痛苦了,我担心在没有 API 支持的情况下不得不再次这样做。

UPDATE

这让房子很震撼!

http://github.com/SFEley/s3nuke/ http://github.com/SFEley/s3nuke/

我在几分钟内就处理了好几场演出,价值 1-2k 个文件。


我肯定不是那些“吹嘘托管数百万张图像/文本的人”之一,因为我只有几千张,这可能不是您正在寻找的答案,但我看了一会儿后退。

据我所知,有一个名为 HEAD 的 API 命令,它获取有关对象的信息,而不是像 GET 那样检索完整的对象,这可能有助于对对象进行计数。

至于删除Buckets,当时我看的时候,API明确规定Bucket必须是空的,所以你需要先删除所有的对象。

但是,我从未使用过这些命令中的任何一个,因为我使用 S3 作为备份,最后我编写了一些例程将我想要的文件上传到 S3(以便该部分是自动化的),但从未考虑过恢复/等式的删除/文件管理方面。为此,请使用 Bucket Explorer,它满足了我的所有需求。就我而言,花 50 美元就能得到一个可以满足我所有需求的程序,这是不值得的。可能还有其他人做同样的事情(例如 CloudBerry)

在您的情况下,使用 Bucket Explorer,您可以右键单击存储桶并选择删除,或者右键单击并选择属性,它将计算对象的数量及其占用的大小。它当然不会下载整个对象。 (例如,我查看的最后一个存储桶大小为 12GB,大约有 500 个文件,下载 12GB 需要几个小时,而大小和计数会在一两秒内返回)。如果有限制的话,那肯定不是1000。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除/统计 s3 存储桶中的对象? 的相关文章

  • 通过递归扩展 Prolog 目标?

    我 最终 实现了一些目标 这些目标将根据开始由 开始之后 and duration 然而 计划目标仅接受规定数量的任务 我想扩展计划目标的功能以接受单个列表并在计划时迭代该列表 不幸的是 我认为这将需要与can run and 冲突目标如下
  • 返回列表的前 n 个

    如何返回第一个n列表的元素 这是我所拥有的 define returns lambda list n cond null list 0 n n 1 car list cons car list returns cdr list n else
  • 返回在 REST 控制器中包装 S3Object.getObjectContent() 的 ResponseEntity 是否安全?

    我正在开发一个 Spring Boot 应用程序 它应该允许用户通过指定的应用程序 REST 接口间接从 Amazon S3 下载文件 为此 我有一个 REST Controller 它向用户返回一个 InputStreamResource
  • JavaScript 可以检测用户的浏览器是否支持 gzip 吗?

    我可以使用 JavaScript 来检测用户的浏览器是否支持 gzip 压缩内容 客户端 而不是 Node js 或类似内容 我正在尝试支持以下边缘情况 有很多可能的文件可以加载到特定的 Web 应用程序上 最好在应用程序运行时根据需要加载
  • 使用 Django 将文件异步上传到 Amazon S3

    我使用此文件存储引擎在上传文件时将文件存储到 Amazon S3 http code welldev org django storages wiki Home http code welldev org django storages w
  • 识别 2D 列表是否包含 Dart/Flutter 中的列表

    如何在不使用嵌套 for 循环的情况下识别 2D 列表是否包含另一个列表 我正在寻找类似的方法in在Python中 我尝试使用list contains x 但它似乎没有识别列表 List a 1 2 1 1 2 2 List b 1 2
  • Spark s3 写入(s3 与 s3a 连接器)

    我正在从事一项在 EMR 上运行的作业 它在 s3 上保存了数千个分区 分区为年 月 日 我有过去 50 年的数据 现在 当 Spark 写入 10000 个分区时 使用以下命令大约需要 1 小时s3a联系 它非常慢 df repartit
  • 在 python 上获取大目录文件列表的最佳方法?

    我有一个疯狂的大目录 我需要通过 python 获取文件列表 在代码中我需要获取迭代器 而不是列表 所以这不起作用 os listdir glob glob uses listdir os walk 我找不到任何好的库 帮助 也许是c li
  • 在Python中将列表附加到自身[重复]

    这个问题在这里已经有答案了 我想将一个列表附加到自身 我认为这会起作用 x 1 2 y x extend x print y 我想回来 1 2 1 2 但我得到的只是内置的None 我究竟做错了什么 我正在使用Python v2 6 x e
  • 采用迭代器而不是可迭代的方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 关于迭代器和可迭代对象 仅是我的观察 如果我错了 请纠正我 大多数构造函数 数组类型 将迭代器作为质量构造函数 迭代器是显式创建的 或
  • 类型错误:不支持的操作数类型 -:“int”和“list”

    我正在尝试用 python 创建一个程序 它会使用 Zeller 算法告诉你你出生在星期几http en wikipedia org wiki Zeller 27s congruence http en wikipedia org wiki
  • 使用 node.js 上的 knox 将八位字节流从请求流式传输到 S3

    我正在尝试使用以下命令将八位字节流直接流式传输到 S3knox https github com LearnBoost knox 在 Node js 上 octet stream 是从浏览器上传的 XHR 文件 我以为我可以将请求流式传输到
  • 如何将整个列表分配给 pandas 数据帧的每一行

    我有一个数据框和一个列表 df pd DataFrame A 1 2 3 B 4 5 6 mylist 10 20 30 40 50 我希望有一个列表作为数据帧的每一行中的元素 如果我喜欢的话here https stackoverflow
  • 存储整数列表的最有效方法

    我最近一直在做一个项目 其中一个目标是使用尽可能少的内存来使用 Python 3 存储一系列文件 除了一个整数列表之外 几乎所有文件都占用很少的空间 大致333 000整数长且整数可达约8000在尺寸方面 我目前正在使用pickle存储列表
  • 打乱列表并返回副本

    我想对数组进行洗牌 但我找到的只是类似的方法random shuffle x from 在 Python 中随机化字符串列表的最佳方法 https stackoverflow com questions 1022141 best way t
  • Python列表错误还是我错了?

    我构建了一个 3 级嵌套列表 run on Python 3 2 3 32 bit on Win 7 L2 list 0 for i in range 2 L3 list L2 for i in range 3 L4 list L3 for
  • Python 中列表的线性合并

    我正在努力通过Google 的 Python 课堂练习 http code google com edu languages google python class index html 其中一个练习是这样的 给定两个按升序排序的列表 创建
  • 将字符串中的 i 个连续相同字符分组到列表中[重复]

    这个问题在这里已经有答案了 我希望以这样的方式分隔输入字符串 即所有连续的相同字符都分组在一个列表中 示例1 str aabbcccdeddgg output aa bb ccc d e dd 期望的输出 aa bb ccc d e dd
  • 将列表中的所有其他元素相乘

    我有一个清单 比方说 list 6 2 6 2 6 2 6 我希望它创建一个新列表 其中每个其他元素乘以 2 每个其他元素乘以 1 保持不变 结果应该是 12 2 12 2 12 2 12 def multi res 0 for i in
  • 获取所有ios应用程序的全局列表[重复]

    这个问题在这里已经有答案了 我想对苹果应用商店进行一些全球统计 一个瓶颈是至少获取所有当前活动应用程序的 ID 这 9 位数字 有谁知道如何获取 iOS 应用商店中当前活动应用程序的所有 id 的完整列表 更好的是特定类别的所有 ID 例如

随机推荐

  • 未捕获的错误:调用未定义的函数 mysql_connect() [重复]

    这个问题在这里已经有答案了 未捕获错误 调用 C xampp htdocs phoenixproject register php 9 中未定义的函数 mysql connect 堆栈跟踪 0 main 在第 9 行 C xampp htd
  • 正则表达式限制 url 文件夹的通配符

    我想设置一个与 URL 的某些模式匹配的正则表达式 http www domain com folder1 folder2 anything anything index html 这匹配并完成工作 http www domain com
  • 带有占位符文本的文本框,该文本会逐字符消失

    我正在寻找一种方法来构造带有日期字段占位符文本的文本框 占位符文本将为 xx xx xxxx 并在用户键入时逐个字符消失 留下斜杠 我遇到了以下两个问题 它们似乎解决了使文本立即消失的问题 HTML CSS 制作一个文本框 其中的文本显示为
  • Android:Enter 或 Tab 键仍然使用 jetpack compose 在密码输入字段中输入值

    当我输入或 Tab 键时 仍然使用 jetpack compose 在密码输入字段中输入值 下面是我的代码片段 val focusRequester FocusRequester createRefs TextField value tex
  • Python 3.8 的点子

    如何安装适用于 Python 3 8 的 Pip 我将 3 8 设置为我的默认 Python 版本 sudo apt install python3 8 pip gives 无法找到包 python3 8 pip 和跑步 python3 8
  • Ionic 3 如何确保在加载视图之前获取数据库数据

    我正在使用基于令牌的身份验证 并且令牌已保存在数据库中 当应用程序启动时 我需要从数据库获取令牌并使其可用 然后再进行 API 调用 最好的方法是什么 在组件中 ngOnit storage get token then val gt Ma
  • 模拟器中缺少“Web Inspector”设置

    在模拟器上执行 重置所有内容和设置 后 在 safari 中启用 Web 检查器的设置消失了 我不知道如何恢复它 有谁知道如何恢复它 并再次在模拟器中 远程 调试网页 似乎这个选项在模拟设备中不可用 提示 如果您想从桌面 Safari 连接
  • 相当于 Oracle 的 SQL*Plus 中 MySQL 的 \G

    在 Oracle 的 SQL Plus 中 SELECT 的结果以表格方式显示 有没有办法以键值方式显示一行 例如MySQL的 G option http slaptijack com software enabling vertical
  • 是否存在 UTF-8 编码中未使用的字节?

    据我了解 UTF 8 是 ASCII 的超集 因此包括不用于表示可打印字符的控制字符 我的问题是 是否有任何字节 256 个不同的字节 未被 UTF 8 编码使用 我想知道你是否可以转换 编码UTF 8 文本转二进制 这是我的思考过程 我不
  • 所有模型的 SQLAlchemy 事件 after_create

    我正在开发一个项目 需要对创建的每个模型进行通用定制 迄今为止我完成大部分工作的方式是通过模型继承 这是我的代码块 可以为您提供更好的想法 app core dba mixins class AuditExtension MapperExt
  • Bash:查找并连接文件

    我有以下结构 home DIR1 file ab csv DIR2 file cd csv DIR3 file3 ef csv Where file csv包含多行浮点数 每个 DIR 都有不同的浮点数 我想抓取所有的内容file csv文
  • C++11 的 LLVM&Clang 支持

    我有一些为 MS VC 10 编写的代码 我使用 C 11 特别是像这样的表达式 std function
  • Firebase 3.x - Facebook 登录

    InFirebase 2 5 1 我曾经这样做过 而且很有效 IBAction func facebookLoginDidTouch sender AnyObject let facebookLogin FBSDKLoginManager
  • 使用 setcap 功能运行时 JLI_InitArgProcessing 的 Java“符号查找错误”

    我们在服务器上安装了 Java 11 旨在监视网络接口的流量 初始安装后 yum install java 11 openjdk devel x86 64 the java命令对两者都适用root and a 普通用户 但是 我们的 Jav
  • 将画布输出图像调整为特定尺寸(宽度/高度)

    我有一个大画布 5000x5000 我想拍一张照片并在客户端创建一个缩略图 我可以使用捕获图像canvas toDataURL但我该如何调整它的大小 我必须创建一个新的吗
  • 什么是“标量”查询?

    我正在使用 LLBLGEN 其中有一种方法可以将查询作为scalar query 谷歌搜索给了我一个定义scalar sub query 它们一样吗 标量查询是返回由一列组成的一行的查询
  • 当互联网连接丢失时,不间断地读取输入流

    我使用异步任务来下载文件 它正常工作 直到我关闭我的 Android 的 wifi 连接 没有其他互联网连接 下载对话框仍然存在并且没有任何变化 当我检查日志时 我发现输入流的函数 read 不停顿 那么如何检查这个案例呢 这是我的代码 U
  • iPhone UIDatePicker 风格

    有什么方法 技巧可以更改 uiDatePicker 的大小 字体 背景颜色等吗 甚至背景颜色属性也不起作用 并且选择器的默认样式与我的应用程序的设计无关 也许你可以使用 UIPickerView 来代替 我见过人们使用图像作为背景 不过 您
  • 通过 Emacs 评估 ghci 或 Hugs 中的缓冲区

    在 Emacs 中使用 sml mode 我已经能够使用以下命令将缓冲区内容直接发送到较差的 SML 进程C c C b 现在我只想用 Haskell 做同样的事情 Haskell 模式似乎不支持这一点 所以我想知道 使用 Emacs 和
  • 如何删除/统计 s3 存储桶中的对象?

    所以我知道这是一个常见问题 但似乎没有任何好的答案 我有一个桶 里面有大量 我不知道有多少 文件 都在2k一个以内 1 我如何知道我有多少个这些文件没有列出他们 我使用过 s3cmd rb aws s3 和 jets3t 的东西 我能找到的