2017-05-25 5 views
1

I Problem ist vor einem Objekt-Lebenszyklus zu schaffen, alle Ordner zu löschen, die älter als 2 Tage Boto mit 3.em Meine s3 Struktur ist wie folgt:Wie Setup-Lebenszyklus löschen Ordner unter s3 Eimern mit boto3

S3 bucket name : test 
    S3 folders under test bucket : day1, day2, day3 
    S3 files under each folder : 
    test/day1/file1.txt 
    test/day2/file2.txt 
    test/day3/file3.txt 

Ich möchte einen Lebenszyklus haben, der alle Ordner löscht, die älter als 2 Tage sind. Ich habe etwas herausgefunden, das hat:

import boto3 
    from boto.s3.lifecycle import Lifecycle,Rule,Transitions,Expiration 
    s3 = boto3.resource('s3') 

    bucket = s3.Bucket('test') 
    expiration = Expiration(days=2) 
    rule = Rule(id='deletetestfold',status='Enabled', expiration=expiration) 
    lifecycle = Lifecycle() 
    lifecycle.append(rule) 

Aber diese zweite Hälfte des Codes verwendet Boto und nicht Boto3. Gibt es eine Möglichkeit, den Lebenszyklus für das Löschen von Ordnern, die älter als 2 Tage sind, unter Verwendung von boto3 zu erreichen. Jede Hilfe hierzu wird geschätzt.

Antwort

2

Überprüfen Sie put_bucket_lifecycle_configuration Methode.

+0

@errate ist nicht veraltet? – Austin

+0

@Austin Ah, ich habe es nicht bemerkt, bis du erwähnt hast ... Zeit, meinen Code auch für diese Änderungen vorzubereiten ^^ Meine Antwort wurde auch aktualisiert :) – errata

Verwandte Themen