Skip to main content
 首页 » 编程设计

python之如何使用适用于 Python 的 AWS SDK 递归列出 AWS S3 存储桶中的文件

2024年10月24日28rubylouvre

我正在尝试复制 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"]}")