Ich habe Probleme, *
in der AWS-CLI eine Teilmenge von Dateien aus einem bestimmten Bucket auszuwählen.
Das Hinzufügen *
zu diesem Pfad scheint nicht zu funktionieren
aws s3 cp s3://data/2016-08* .
Ich habe Probleme, *
in der AWS-CLI eine Teilmenge von Dateien aus einem bestimmten Bucket auszuwählen.
Das Hinzufügen *
zu diesem Pfad scheint nicht zu funktionieren
aws s3 cp s3://data/2016-08* .
Um mehrere Dateien von einem aws Eimer in Ihr aktuelles Verzeichnis heruntergeladen haben , können Sie verwenden recursive
, exclude
und include
Fahnen wie folgt aus :
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"
Weitere Informationen zur Verwendung dieser Filter finden Sie unter: http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters
--exclude "*"
kein Tippfehler ist. Wenn Sie es nicht hinzufügen, stimmt das Include mit allem überein . Gemäß Dokumentation: Beachten Sie, dass standardmäßig alle Dateien enthalten sind. Dies bedeutet, dass durch die Bereitstellung eines --include-Filters nicht geändert wird, welche Dateien übertragen werden. --include schließt nur Dateien wieder ein, die von einem --exclude-Filter ausgeschlossen wurden. Wenn Sie nur Dateien mit einer bestimmten Erweiterung hochladen möchten, müssen Sie zuerst alle Dateien ausschließen und dann die Dateien mit der bestimmten Erweiterung erneut einschließen.sync
einen ähnlichen Effekt verwenden, der standardmäßig rekursiv ist:aws s3 sync s3://data/ . --exclude "*" --include "2016-08*"
Die Reihenfolge der Parameter ist wichtig
Das Ausschließen und Einschließen sollte in einer bestimmten Reihenfolge verwendet werden. Wir müssen zuerst ausschließen und dann einschließen. Das Gegenteil davon wird nicht erfolgreich sein.
Dies schlägt fehl, da in diesem Fall die Reihenfolge der Parameter von Bedeutung ist. Das Include wird durch das * ausgeschlossen
Dieser wird funktionieren, weil wir alles ausgeschlossen haben, aber später das spezifische Verzeichnis aufgenommen hatten.
quelle