2017-05-23 2 views
0

Der folgende Link zeigt, wie Sie den gesamten S3-Inhalt herunterladen können. Wie erhält man jedoch Unterordnerinhalte? Angenommen, mein S3-Ordner weist die folgende emulierte Struktur auf.Laden Sie nur einen bestimmten Ordner im S3-Bucket mit Python herunter. Boto

S3Folder/S1/file1.c

S3Folder/S1/file2.h

S3Folder/S1/file1.h

S3Folder/S2/file.exe

S3Folder/S2/resource.data

Angenommen, ich bin nur in S2-Ordner interessiert. Wie isoliere ich die Schlüssel in der Bucket-Liste?

local backup of an S3 content

conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) 
bucket = conn.get_bucket(bucket_name) 

# go through the list of files 
bucket_list = bucket.list() 
for l in bucket_list: 
    keyString = str(l.key) 
    d = LOCAL_PATH + keyString 
    try: 
    l.get_contents_to_filename(d) 
    except OSError: 
    # check if dir exists 
    if not os.path.exists(d): 
     os.mkdir(d) 

Antwort

0

können Sie s3 Objekte herunterladen, indem Sie in dem Schlüsselwert Präfix davon hinzugefügt wird.

also nach Ihrer Frage, Sie müssen nur Präfix '/ S2' hinzufügen, während Objekte

FYI Download: s3 download object mit boto3

Weiteren Check this

+0

Es ist nicht klar, wo würde ich setze das Präfix S2. –

+0

im Parameter 'Schlüssel' müssen Sie hinzufügen. Ich würde dir empfehlen, die Dokumentation zu lesen. – tom

+0

Ich muss nur S2 Unterordner Inhalt greifen. Bis jetzt packe ich alles in den Eimer –

Verwandte Themen