Ob Blockieren oder Entsperren, Sie sollten sich NICHT auf die API allein verlassen, wenn es schlecht lief. Sie MÜSSEN die Ausnahmebehandlung hinzufügen, wenn der Upload aus irgendeinem Grund in der Mitte fehlschlägt (z. B. wenn der Administrator den Router neu startet, wenn Sie den Upload durchführen).
bucket = session.Bucket(bucket_name)
try :
bucket.upload_file(Key=s3_key, Filename=source_path)
os.remove(source_path)
except :
raise
Eine weitere gute Praxis Datei S3 laden zusätzliche Metadaten hinzugefügt.
bucket.upload_file(
Key=s3_key,
Filename=source_path,
extra_args={'Metadata': {'source_path': source_path}}
)
Ereignis S3 Bucket Hinzufügen auf Erfolg PUT Aktion zu handeln auch Sie Bereinigungsprozess erstellen, wenn es Erfolg Upload ist aber Fehler auf lokale Dateientfernung. (Man stelle sich die Datei gesperrt ist oder die Datei angegeben ist Read-only Zugriff).
bessere Formulierung: "synchron oder asynchron" – tedder42