python - 如何使用 Python Boto3 根据带有通配符的前缀列出对象?

标签 python boto3

我需要找到具有特定前缀的所有文件。例如:

raw/client/Hist/2017/*/*/Tracking_*.zip
我试过这行代码,但它不起作用:
    import boto3
    client = boto3.client("s3", aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
    client.list_objects(Bucket="myBucket", Prefix="raw/client/Hist/2017/*/*/Tracking_*.zip")

最佳答案

如果不首先选择对象的超集,然后通过循环将其进一步减少到您需要的子集,您将无法使用 boto3 执行此操作。但是,您可以使用亚马逊的 data wrangler图书馆和 list_objects方法,支持通配符,返回您需要的 S3 key 列表:

import awswrangler as wr
objects = wr.s3.list_objects('s3://myBucket/raw/client/Hist/2017/*/*/Tracking_*.zip')

关于python - 如何使用 Python Boto3 根据带有通配符的前缀列出对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58591151/

相关文章:

python - 与 MySQL 通信时,我的 Python 脚本没有错误,仍然没有变化

python - 删除标点符号python

pytest - 我怎样才能从 boto3 模拟 ssm?

python - AWS BOTO3 连接到 MS SQL 数据库时出错

python - 使用 boto3 从 S3 存储桶中读取文件内容

python - 如何更改文件夹的修改时间?

python - 使用 Python 从 Google Drive/Workspace 下载电子表格

python - 在 Python 中使用类对函数进行分组

python - 如何使用 Boto 3 创建角色和策略?

python - 使用 boto3 从公共(public)桶下载