Mam problem z użyciem *
w interfejsie wiersza polecenia AWS do wybrania podzbioru plików z określonego zasobnika.
*
Wydaje się, że takie dodawanie do ścieżki nie działa
aws s3 cp s3://data/2016-08* .
Mam problem z użyciem *
w interfejsie wiersza polecenia AWS do wybrania podzbioru plików z określonego zasobnika.
*
Wydaje się, że takie dodawanie do ścieżki nie działa
aws s3 cp s3://data/2016-08* .
Aby pobierać wiele plików z AWS wiadra do bieżącego katalogu, można użyć recursive
, exclude
oraz include
flagi w ten sposób:
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"
Więcej informacji na temat korzystania z tych filtrów: http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters
--exclude "*"
to nie jest literówka. Jeśli go nie dodasz, dołączenie będzie pasowało do wszystkiego . Zgodnie z dokumentacją: Zauważ, że domyślnie wszystkie pliki są uwzględnione. Oznacza to, że podanie tylko filtru --include nie zmieni przenoszonych plików. --include ponownie uwzględni tylko pliki, które zostały wykluczone z filtru --exclude. Jeśli chcesz przesłać tylko pliki z określonym rozszerzeniem, musisz najpierw wykluczyć wszystkie pliki, a następnie ponownie dołączyć pliki z określonym rozszerzeniem.sync
dla podobnego efektu, który jest domyślnie rekurencyjny:aws s3 sync s3://data/ . --exclude "*" --include "2016-08*"
Kolejność parametrów ma znaczenie
Wyklucz i uwzględnij powinny być używane w określonej kolejności, musimy najpierw wykluczyć, a następnie uwzględnić. Odwrotna sytuacja się nie powiedzie.
To się nie powiedzie, ponieważ w tym przypadku kolejność parametrów ma znaczenie. Uwzględnienie jest wykluczone przez *
Ten zadziała, ponieważ wykluczyliśmy wszystko, ale później dołączyliśmy konkretny katalog.
źródło
OK, muszę powiedzieć, że przykład jest błędny i powinien zostać poprawiony w następujący sposób:
Że
.
musi być zaraz pocp
. Ostatnim--exclude
jest upewnienie się, że nic nie jest pobierane z podkatalogów, które są pobierane przez--recursive
(dowiedziałem się, że przez pomyłkę ...)To zadziała dla każdego, kto boryka się z tym, zanim tu dotrą.
źródło