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

标签 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

最佳答案

无法使用 S3 进行通配符搜索或文件匹配服务端。通过 API 唯一可用的过滤是前缀。如果您指定前缀字符串,则仅返回以该前缀开头的结果。

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

关于amazon-s3 - 使用 boto 在 S3 中搜索特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990669/

相关文章:

amazon-s3 - 将表从 amazon redshift 卸载到 s3 时,如何使其仅生成一个文件

node.js - 如何使用带有lambda函数的nodejs在aws s3存储桶中创建嵌套文件夹?

node.js - 如何读取大文件并将其上传到 s3?

amazon-web-services - 找到athena查询结果的来源

python - 如何使用 boto3 将 S3 对象保存到文件中

javascript - Canvas 中图像的 CORS 设置

amazon-web-services - 如何使用 boto/python 更改 AWS 的图像权限 (AMI)?

python-2.7 - aws boto3 客户端 Stubber 帮助 stub 单元测试

python - 部署偶尔需要多处理的 Web 应用程序

python - 客户端s3上传并返回图像的公共(public)url