Bor*_*lis 9 python ls amazon-s3 amazon-web-services boto3
我正在尝试复制 AWS CLIls命令以递归地列出 AWS S3 存储桶中的文件。例如,我将使用以下命令递归列出“location2”存储桶中的所有文件。
aws s3 ls s3://location2 --recursive
Run Code Online (Sandbox Code Playgroud)
适用于 Python 的 AWS 开发工具包(即boto3)相当于什么aws s3 ls s3://location2 --recursive?
您需要使用分页器:
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"]}")
Run Code Online (Sandbox Code Playgroud)
使用 AWS 开发工具包时无需使用 --recursive 选项,因为它使用list_objects方法列出存储桶中的所有对象。
import boto3
client = boto3.client('s3')
client.list_objects(Bucket='MyBucket')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19181 次 |
| 最近记录: |