Mein Ziel ist es, alle Dateien, die derzeit GLACIER-Speicherklasse sind, unter Verwendung von aws cli s3api
in STANDARD zu konvertieren. Um dies zu tun, muss ich zunächst eine Liste aller dieser Dateien abrufen und dann einen restore
Befehl und schließlich einen copy
Befehl auslösen, um alle auf STANDARD zu ändern.AWS S3 - So erhalten Sie alle Dateien, die GLACIER-Speicherklasse sind
Das Problem ist, die Anzahl der Dateien sind zu groß (~ 5 Millionen), was schließlich in core dump segmentation fault
Fehler führt, wenn der maximale Artikel 600k bis 700k überschreitet. Wenn ich den --max-item
Parameter nicht liefern würde, würde ich den gleichen Fehler erhalten. So konnte ich keine Dateien unter 700k Schwelle bekommen. Hier ist der Befehl, den ich verwendet habe:
aws s3api list-objects --bucket my-bucket --query 'Contents[?StorageClass==`GLACIER`]' --max-item 700000 > glacier.txt
Gibt es eine Umgehungslösung?
Wie wäre es mit '--output text'? Ansonsten glaube ich, dass es versucht, ein riesiges JSON-Objekt zu bauen. –
Das Skript speichert nur die Objekte, die die GLACIER-Speicherklasse sind. – Casper
Okay, aber ich verstehe nicht, wie das mit dem Ändern des Ausgabeformats von aws-cli zusammenhängt. Ich schlage vor, dass Sie * diese Option hinzufügen und die anderen beibehalten. Funktioniert das nicht? –