我正在尝试复制 AWS CLI ls 命令以递归地列出 AWS S3 存储桶中的文件。例如,我会使用以下命令递归列出“location2”存储桶中的所有文件。
aws s3 ls s3://location2 --recursive
什么是 AWS SDK for Python (即 boto3)等同于 aws s3 ls s3://location2 --recursive?
请您参考如下方法:
您需要使用 paginators :
import boto3
client = boto3.client("s3")
bucket = "my-bucket"
paginator = client.get_paginator('list_objects')
page_iterator = paginator.paginate(Bucket=bucket)
for page in page_iterator:
for obj in page['Contents']:
print(f"s3://{bucket}/{obj["Key"]}")
