mr-*_*-sk 2 python amazon-s3 amazon-web-services boto3
我的桶结构如下:
bucket
production
dt=2017-01-01
file1.json
...
dt=2017-05-01
file2.json
Run Code Online (Sandbox Code Playgroud)
我要做的是获取file1.json,file2.json的完整路径,以便我可以下载它们.
我很难做到这一点就是python.任何帮助表示赞赏.TIA.
s3 = boto3.client('s3')
Run Code Online (Sandbox Code Playgroud)
您可以通过调用列出所有对象 list_objects
objs = s3.list_objects(Bucket='mybucket')['Contents']
Run Code Online (Sandbox Code Playgroud)
使用列表推导,获取忽略文件夹的对象名称(大小为0)
[obj['Key'] for obj in objs if obj['Size']]
Run Code Online (Sandbox Code Playgroud)
或者:
s3 = boto3.resource('s3')
bucket = s3.Bucket('mybucket')
[key.key for key in bucket.objects.all() if key.size]
Run Code Online (Sandbox Code Playgroud)
如果要列出具有特定前缀的对象:
# S3 list all keys with the prefix 'photos/'
s3 = boto3.resource('s3')
bucket = s3.Bucket('production')
for obj in bucket.objects.filter(Prefix='2017-01-01/'):
if obj.size: print obj.key
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4082 次 |
| 最近记录: |