Antworten:
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
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.
aws s3 cp s3://data/ . --recursive --include "2016-08*" --exclude "*"
Dies schlägt fehl, da in diesem Fall die Reihenfolge der Parameter von Bedeutung ist. Das Include wird durch das * ausgeschlossen
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"`
Dieser wird funktionieren, weil wir alles ausgeschlossen haben, aber später das spezifische Verzeichnis aufgenommen hatten.
--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.