无法从S3存储桶下载文件

时间:2016-10-07 06:38:11

标签: python amazon-web-services amazon-s3

我想从此路径All Buckets /abc/or/uploads

中的S3存储桶下载所有文件

我尝试使用此代码段,但只设法获取All Buckets /abc

中的文件

更改bucket_list = bucket.list('or/uploads')中的路径 这条线不起作用?为什么呢?

import boto
import sys, os
import logging

bucket_name = 'abc'
conn = boto.connect_s3('XXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXX')
bucket = conn.get_bucket(bucket_name)
bucket_list = bucket.list('or/uploads')

for key in bucket.list():
    try:
        res = key.get_contents_to_filename(key.name)
        print "done"
    except:
        logging.info(key.name + ":" + "FAILED")

1 个答案:

答案 0 :(得分:0)

Amazon S3没有文件夹/目录。它是一个平面文件结构。 为了保持目录的外观,路径名称存储为对象Key(filename)的一部分。

确保下载文件的位置具有完全相同的结构,即/abc/or/uploads

摘录

for key in bucket.list('or/uploads'):
    try:
        res = key.get_contents_to_filename(key.name)
        print "done"
    except:
        logging.info(key.name + ":" + "FAILED")

Source