Il s’agit du nouveau Guide de référence des modèles CloudFormation . Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fn::Split
Pour fractionner une chaîne en liste de valeurs de chaînes afin de pouvoir sélectionner un élément dans la liste de chaîne obtenue, utilisez la fonction intrinsèque Fn::Split. Spécifiez l'emplacement des fractionnements avec un délimiteur, par exemple , (une virgule). Une fois que la chaîne a été fractionnée, utilisez la fonction Fn : :Select pour sélectionner un élément spécifique.
Par exemple, si une chaîne d’ID de sous-réseaux délimités par des virgules est importée dans votre modèle de pile, vous pouvez la fractionner au niveau de chaque virgule. Dans la liste d'ID de sous-réseaux, utilisez la fonction intrinsèque Fn::Select pour spécifier un ID de sous-réseau pour une ressource.
Déclaration
JSON
{ "Fn::Split" : [ "", "delimitersource string" ] }
YAML
Syntaxe pour le nom complet de la fonction :
Fn::Split: [,delimitersource string]
Syntaxe pour la forme courte :
!Split [,delimitersource string]
Parameters
Vous devez spécifier les deux paramètres.
- delimiter
-
Valeur de chaîne qui détermine l'emplacement de division de la chaîne source.
- chaîne source
-
Valeur de la chaîne que vous souhaitez fractionner.
Valeur renvoyée
Liste de valeurs d'une chaîne.
Exemples
Les exemples suivants montrent le comportement de la fonction Fn::Split.
Liste simple
L'exemple suivant fractionne une chaîne à chaque barre verticale (|). La fonction retourne ["a", "b", "c"].
JSON
{ "Fn::Split" : [ "|" , "a|b|c" ] }
YAML
!Split [ "|" , "a|b|c" ]
Liste avec des valeurs de chaîne vides
Si vous fractionnez une chaîne avec des délimiteurs consécutifs, la liste obtenue comprend une chaîne vide. L'exemple suivant montre comment une chaîne avec deux délimiteurs consécutifs et un délimiteur ajouté est fractionnée. La fonction retourne ["a", "", "c",
""].
JSON
{ "Fn::Split" : [ "|" , "a||c|" ] }
YAML
!Split [ "|" , "a||c|" ]
Fractionner une valeur de sortie importée
L'exemple suivant fractionne une valeur de sortie importée, puis sélectionne le troisième élément de la liste d'ID de sous-réseaux obtenue, tel que spécifié par la fonction Fn::Select.
JSON
{ "Fn::Select" : [ "2", { "Fn::Split": [",", {"Fn::ImportValue": "AccountSubnetIDs"}]}] }
YAML
!Select [2, !Split [",", !ImportValue AccountSubnetIDs]]
Fonctions prises en charge
Avec le délimiteur Fn::Split, vous ne pouvez pas utiliser toutes les fonctions. Vous devez spécifier une valeur de type chaîne.
Pour la liste de valeurs Fn::Split, vous pouvez utiliser les fonctions suivantes :
-
Fn::Base64 -
Fn::FindInMap -
Fn::GetAtt -
Fn::GetAZs -
Fn::If -
Fn::ImportValue -
Fn::Join -
Fn::Select -
Fn::Sub -
Ref