我正在使用 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
最佳答案
无法使用 S3 进行通配符搜索或文件匹配服务端。通过 API 唯一可用的过滤是前缀
。如果您指定前缀
字符串,则仅返回以该前缀
开头的结果。
否则,所有过滤都必须在客户端进行。或者,您可以将 key 存储在数据库中并使用它进行搜索并仅从 S3 检索匹配项。
关于amazon-s3 - 使用 boto 在 S3 中搜索特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990669/