J'ai des difficultés à utiliser *
dans l'AWS CLI pour sélectionner un sous-ensemble de fichiers dans un certain compartiment.
Ajouter *
au chemin comme celui-ci ne semble pas fonctionner
aws s3 cp s3://data/2016-08* .
amazon-web-services
amazon-s3
aws-cli
mètresk
la source
la source
--exclude "*"
n'est pas une faute de frappe. Si vous ne l'ajoutez pas, l'inclusion correspondra à tout . Selon la documentation: Notez que, par défaut, tous les fichiers sont inclus. Cela signifie que fournir uniquement un filtre --include ne changera pas les fichiers transférés. --include ne ré-inclura que les fichiers qui ont été exclus d'un filtre --exclude. Si vous souhaitez uniquement télécharger des fichiers avec une extension particulière, vous devez d'abord exclure tous les fichiers, puis ré-inclure les fichiers avec l'extension particulière.sync
pour un effet similaire, qui est récursif par défaut:aws s3 sync s3://data/ . --exclude "*" --include "2016-08*"
L'ordre des paramètres compte
L'exclusion et l'inclusion doivent être utilisées dans un ordre spécifique, nous devons d'abord exclure, puis inclure. L'inverse ne sera pas couronné de succès.
Cela échouera car l'ordre des paramètres est important dans ce cas. L'inclusion est exclue par le *
Celui-ci fonctionnera car nous avons tout exclu, mais plus tard, nous avons inclus le répertoire spécifique.
la source