2016-06-16 1 views
0

comment créer un modèle regex dans la stratégie de compartiment aws s3 pour autoriser uniquement les fichiers spécifiques avec des noms et des extensions copiés dans le compartiment s3. ex: DGCSCons_ 6193_20150422 .dat_AEL.dat.bz2
dans le nom de fichier ci-dessus je veux construire regex pour les caractères numériques avec spécification _. comment faire ça?modèle regex pour les valeurs numériques dans la stratégie de compartiment aws s3

+0

Quelle langue utilisez-vous? – Andreas

+0

Cette regex divisera les parties de ces noms de fichiers en groupes de capture. '(\ w +) _ ((\ d {4}) _ (\ d {8})) ((?: \. \ w +) +)'. Ensuite, dans votre code, vous pouvez vérifier le contenu de ces groupes pour les autoriser ou non. – LukStorms

+0

@Andreas dans la stratégie de compartiment AWS s3. il est json – user3702893

Répondre

0

Les ARN de ressources dans les stratégies prennent uniquement en charge les caractères génériques, pas les expressions régulières.

Vous pouvez utiliser des caractères génériques dans le cadre de l'ARN de ressource. Vous pouvez utiliser des caractères génériques (* et?) Dans n'importe quel segment ARN (les parties séparées par des deux-points). Un astérisque (*) représente n'importe quelle combinaison de zéro ou plusieurs caractères et un point d'interrogation (?) Représente un seul caractère. Vous pouvez utiliser plusieurs * ou? caractères dans chaque segment, mais un caractère générique ne peut pas couvrir des segments.

http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html

Bien que cela ne dit pas spécifiquement les expressions régulières ne sont pas pris en charge, ils ne sont pas mentionnés, et les deux * et ? ont des significations différentes, tout à fait, dans les expressions régulières, que ce qui est permis ici. .. donc ils sont exclus par implication si rien d'autre.