Відповіді:
Для завантаження декількох файлів з AWS відра в поточному каталозі, ви можете використовувати recursive
, exclude
і include
прапори , як це:
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"
Для отримання додаткової інформації про використання цих фільтрів: http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters
sync
для подібного ефекту, який за замовчуванням є рекурсивним:aws s3 sync s3://data/ . --exclude "*" --include "2016-08*"
Порядок параметрів має значення
Виключати та включати слід використовувати в певному порядку. Ми повинні спочатку виключити, а потім включити. Навпаки це не матиме успіху.
aws s3 cp s3://data/ . --recursive --include "2016-08*" --exclude "*"
Це не вдасться, оскільки порядок параметрів у цьому випадку має значення. Включення виключається *
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"`
Цей буде працювати, тому що ми виключили все, але пізніше ми включили конкретний каталог.
--exclude "*"
це не помилка. Якщо ви не додасте його, включення буде відповідати будь-чому . Відповідно до документації: Зверніть увагу, що за замовчуванням усі файли включені. Це означає, що надання лише фільтру --include не змінить передані файли. --include буде повторно включати файли, які були виключені з фільтра --exclude. Якщо ви хочете завантажити лише файли з певним розширенням, спочатку потрібно виключити всі файли, а потім повторно включити файли з певним розширенням.