Respuestas:
Para descargar varios archivos desde un cubo de AWS a su directorio actual, se puede utilizar recursive
, exclude
y include
banderas de este tipo:
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"
Para obtener más información sobre cómo utilizar estos filtros: http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters
sync
para un efecto similar, que es recursivo por defecto:aws s3 sync s3://data/ . --exclude "*" --include "2016-08*"
El orden de los parámetros importa
La exclusión y la inclusión deben usarse en un orden específico. Primero debemos excluir y luego incluir. Lo contrario no tendrá éxito.
aws s3 cp s3://data/ . --recursive --include "2016-08*" --exclude "*"
Esto fallará porque el orden de los parámetros importa en este caso. La inclusión está excluida por el *
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"`
Este funcionará porque excluimos todo, pero luego incluimos el directorio específico.
--exclude "*"
no es un error tipográfico. Si no lo agrega, la inclusión coincidirá con cualquier cosa . Según la documentación: tenga en cuenta que, de forma predeterminada, se incluyen todos los archivos. Esto significa que proporcionar solo un filtro --include no cambiará los archivos que se transfieren. --include solo volverá a incluir archivos que hayan sido excluidos de un filtro --exclude. Si solo desea cargar archivos con una extensión en particular, primero debe excluir todos los archivos y luego volver a incluir los archivos con la extensión en particular.