繁体   English   中英

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

[英]How to list objects based on prefixes with wildcard using 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 执行此操作。 但是,您可以使用 Amazon 的数据管理员库和支持通配符的list_objects方法返回您需要的 S3 密钥列表:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM