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

vik*_*vik 2 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 
Run Code Online (Sandbox Code Playgroud)

我想找到*.txt的位置

所以boto脚本应该返回我的结果

mybucket/A/B/C/x.txt
mybucket/A/E/F/z.txt
Run Code Online (Sandbox Code Playgroud)

gar*_*aat 5

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

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