2017-01-24 192 views
2

我可以輕鬆地從存儲桶中下載文件,但現在我需要從S3存儲桶中的特定文件夾下載文件。從boto2下載S3存儲桶中的子文件夾文件

我目前使用下面的代碼:

import boto 
import boto.s3.connection 

access_key = 'XXXXXXXXXXXXXXXX' 
secret_key = 'XXXXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXX' 

bucket_name = 'my_Bucket' 
conn = boto.connect_s3('XXXXXXXXXXXXXXXX','XXXXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXX') 
bucket = conn.get_bucket(bucket_name) 
bucket_list = bucket.list() 

LOCAL_PATH = '/Users/tcssig/Documents/EPG/' 

for l in bucket_list: 
    keyString = str(l.key) 
    d = LOCAL_PATH + keyString 
    try: 
     l.get_contents_to_filename(d) 
    except OSError: 
     if not os.path.exists(d): 
      os.mkdir(d) 

我如何從my_folder下載水桶MY_BUCKET文件?

+2

您沒有使用boto3作爲前綴的特殊文件夾路徑。 – hjpotter92

回答

1

提供給list()方法

bucket_list = bucket.list(prefix='particular/folder/path') 
+0

將文件夾路徑用作'/ folderName_inside_bucket /'不會下載該文件夾中存在的任何文件。 –

+0

打印'bucket_list'以查看它是否列出文件夾中存在的文件。 – franklinsijo

+0

bucket_list被創建爲'',當我嘗試迭代它並打印內容時,我得到空輸出。 –

相關問題