使用boto在S3中搜索特定文件

时间:2013-06-07 18:28:09

标签: amazon-s3 boto

我正在使用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

1 个答案:

答案 0 :(得分:5)

无法使用S3进行通配符搜索或文件全局服务端。通过API提供的唯一过滤是prefix。如果您指定prefix字符串,则只返回以prefix开头的结果。

否则,所有过滤都必须在客户端进行。或者,您可以将密钥存储在数据库中并使用它来进行搜索,并仅从S3中检索匹配。