【发布时间】:2019-08-21 20:34:58
【问题描述】:
我有一个 s3 存储桶,里面有很多子文件夹。 我只想打印特定子文件夹“abcxyz”中所有文件的键 在那个桶里面
使用以下代码成功获取该子文件夹的文件:
import boto3, os, sys
from botocore.client import Config
# Removed my credentials here on StackOverflow
ACCESS_KEY_ID = ''
ACCESS_SECRET_KEY = ''
BUCKET_NAME = ''
s3 = boto3.resource(
's3',
aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=ACCESS_SECRET_KEY,
config=Config(signature_version='s3v4')
)
my_bucket = s3.Bucket(BUCKET_NAME)
for obj in my_bucket.objects.filter(Prefix=Folder_name + '/'):
print(obj)
它给我的输出是:
s3.ObjectSummary(bucket_name='', key='abcxyz/1.jpg')
s3.ObjectSummary(bucket_name='', key='abcxyz/2.jpg')
s3.ObjectSummary(bucket_name='', key='abcxyz/3.jpg')
.
.
.
等等..(这里去掉了桶名)
我只想打印所有文件的键名,例如:
abcxyz/1.jpg
abcxyz/2.jpg
abcxyz/3.jpg
.
.
.
参考链接:
https://alexwlchan.net/2017/07/listing-s3-keys/
和
Accessing a specific key in a s3 bucket using boto3
但无法跳出框框思考。我可以帮助我打印所需的输出吗?
【问题讨论】:
标签: python python-3.x amazon-web-services amazon-s3 boto3