我正在使用boto来解析S3存储桶。基本上我想在存储桶中提交某个文件(例如* .header或用户提供的任何其他正则表达式)。由于我在boto中找不到任何功能,我试图编写一个BFS例程来搜索每个文件夹的内容,但我找不到任何方法来获取key / key.name的文件夹内容(我得到了通过bucketObj.list())。有没有其他方法可以做到这一点?
例如,假设我有多个文件夹 喜欢
mybucket/A/B/C/x.txt
mybucket/A/B/D/y.jpg
mybucket/A/E/F/z.txt
我希望找到* .txt
的位置所以boto脚本应该返回结果
mybucket/A/B/C/x.txt
mybucket/A/E/F/z.txt
答案 0 :(得分:5)
无法使用S3进行通配符搜索或文件全局服务端。通过API提供的唯一过滤是prefix
。如果您指定prefix
字符串,则只返回以prefix
开头的结果。
否则,所有过滤都必须在客户端进行。或者,您可以将密钥存储在数据库中并使用它来进行搜索,并仅从S3中检索匹配。