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 de sous-réseau séparée par des virgules IDs est importée dans votre modèle de pile, vous pouvez diviser la chaîne à chaque virgule. Dans la liste des sous-réseauxIDs, utilisez la fonction Fn::Select
intrinsèque pour spécifier un ID de sous-réseau pour une ressource.
Déclaration
JSON
{ "Fn::Split" : [ "
", "
delimiter
source string
" ] }
YAML
Syntaxe pour le nom complet de la fonction :
Fn::Split: [
,
delimiter
source string
]
Syntaxe pour la forme courte :
!Split [
,
delimiter
source string
]
Paramètres
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 divise une valeur de sortie importée, puis sélectionne le troisième élément dans la liste de sous-réseaux qui en résulteIDs, comme spécifié par la Fn::Select
fonction.
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