Tengo problemas para utilizar *
la AWS CLI para seleccionar un subconjunto de archivos de un determinado depósito.
Agregar *
a la ruta como esta no parece funcionar
aws s3 cp s3://data/2016-08* .
amazon-web-services
amazon-s3
aws-cli
metersk
fuente
fuente
--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.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.
Esto fallará porque el orden de los parámetros importa en este caso. La inclusión está excluida por el *
Este funcionará porque excluimos todo, pero luego incluimos el directorio específico.
fuente