web-dev-qa-db-fra.com

Comment sélectionner un fichier d'aws s3 en utilisant un caractère sauvage

J'ai beaucoup de fichiers dans le compartiment s3 et je veux copier ces fichiers dont la date de début est 2012. Cette commande ci-dessous copie tout le fichier.

aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive  --include "201502_nts_*.xlsx"
12
user3858193

Vous voudrez peut-être ajouter l'indicateur "--exclude" avant votre filtre d'inclusion.

AWS CLI utilise le filtre "--include" pour l'inclure dans votre recherche existante. Étant donné que tous les fichiers sont renvoyés, vous devez d'abord les exclure avant d'inclure 2015 * .xlsx. 

Si vous voulez des fichiers au format "201502_nts _ *. Xlsx", vous pouvez exécuter aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive --exclude * --include "201502_nts_*.xlsx"

19
bsnchan

Je devais ajouter des guillemets autour du caractère générique --exclude * pour qu'il ressemble à ceci:

aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive --exclude "*" --include "201502_nts_*.xlsx"
4
RodgerDodger

Après avoir effectué de nombreuses vérifications et obtenu de l'aide de bsnchan, je peux utiliser la commande exclude and include dans aws s3 cli. S'il vous plaît assurez-vous que vous mettez les espaces correctement.

pour le fichier spécifique à la copie:

aws s3 cp s3://itx-agj-cons-ww-bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in  --recursive --exclude "*" --include "*%mth_cd%_%source%_all.xlsx"

(Remarque: mth_cd est le paramètre utilisé dans le fichier bat)

Pour vérifier l'existence du fichier.

aws s3 ls s3://itx-agj-cons-ww-bp-dev/bp_source_input/ --recursive | FINDSTR  "201502_nts_.*.xlsx"

(Note: windows cli, pour unix ce sera grep)

Merci beaucoup.

0
user3858193