Как я могу использовать подстановочные знаки для "cp" группы файлов с помощью AWS CLI
У меня возникли проблемы с использованием *
в AWS CLI, чтобы выбрать подмножество файлов из определенного ведра.
Добавление *
к пути, подобному этому, похоже, не работает
aws s3 cp s3://data/2016-08*.
Ответы
Ответ 1
Чтобы загрузить несколько файлов из корзины 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
Ответ 2
Порядок выполнения параметров
Исключить и включить следует использовать в определенном порядке, мы должны сначала исключить, а затем включить. И наоборот, это не будет успешным.
aws s3 cp s3://data/ . --recursive --include "2016-08*" --exclude "*"
Это не сработает, потому что в этом случае порядок параметров будет соответствовать. Включение исключается *
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"'
Этот будет работать, потому что мы исключили все, но позже мы включили конкретный каталог.
Ответ 3
Ссылаясь на сообщение @punkrockpolly, если вы хотите скопировать несколько файлов из одного сегмента в другой, вы можете использовать флаги recursive
, exclude
и include
, например:
aws s3 cp s3://srcBucket/srcDirectory s3://destinationBucket/destinationDirectory --recursive --exclude "*" --include "FileNamePrefix*" --include "*FileNameSuffix"
Где вы можете использовать несколько флагов include
.
Помните, что дополнительные параметры будут указываться после Source и Destiantion.
Чтобы скопировать из локального каталога в корзину S3, используйте команду
aws s3 sync /tmp/foo s3://bucket/
где исходный каталог /tmp/foo
. Все фильтры include/exclude будут оцениваться с добавлением исходного каталога.
Для получения дополнительной информации о том, как использовать эти фильтры: http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters