Respostas:
Para fazer download de vários arquivos de um balde AWS para o seu diretório atual, você pode usar recursive
, exclude
, e include
bandeiras como este:
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"
Para obter mais informações sobre como usar esses filtros: http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters
sync
para um efeito semelhante, que é recursivo por padrão:aws s3 sync s3://data/ . --exclude "*" --include "2016-08*"
A ordem dos parâmetros é importante
Excluir e incluir devem ser usados em uma ordem específica. Primeiro, devemos excluir e depois incluir. A vice-versa disso não terá sucesso.
aws s3 cp s3://data/ . --recursive --include "2016-08*" --exclude "*"
Isso falhará porque a ordem dos parâmetros é importante neste caso. A inclusão é excluída pelo *
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"`
Este funcionará porque excluímos tudo, mas depois incluímos o diretório específico.
--exclude "*"
não é um erro de digitação. Se você não adicionar, a inclusão irá corresponder a qualquer coisa . De acordo com a documentação: Observe que, por padrão, todos os arquivos estão incluídos. Isso significa que fornecer apenas um filtro --include não mudará quais arquivos são transferidos. --include irá incluir novamente os arquivos que foram excluídos de um filtro --exclude. Se você deseja apenas fazer upload de arquivos com uma extensão específica, primeiro exclua todos os arquivos e, em seguida, inclua novamente os arquivos com a extensão específica.