2017-01-24 4 views
2

Ich kann die Dateien leicht aus dem Bucket herunterladen, aber jetzt muss ich einen Download von einem bestimmten Ordner in meinem S3-Bucket machen.Herunterladen von Unterordnern Dateien im S3-Bucket von boto2

ich zur Zeit bin mit dem folgenden Code:

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) 

Wie erhalte ich Dateien von my_folder auf dem heißen Stein my_bucket heruntergeladen?

+2

Sie verwenden boto3 nicht. – hjpotter92

Antwort

1

Geben Sie den speziellen Ordner-Pfad als Präfix für den list() Methode

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

Wenn Sie den Ordnerpfad als '/ Ordnername_inside_bucket /' verwenden, werden keine Dateien heruntergeladen, die im Ordner vorhanden sind. –

+0

Drucken Sie 'bucket_list', um zu sehen, ob die Dateien im Ordner aufgelistet sind. – franklinsijo

+0

bucket_list wird als '' erstellt, wenn ich versuche, darüber zu iterieren und den Inhalt auszudrucken, bekomme ich eine leere Ausgabe. –

Verwandte Themen