Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Fn::Split
Per dividere una stringa in un elenco di valori di stringa in modo che tu possa selezionare un elemento dall'elenco di stringhe risultante, utilizza la funzione Fn::Split
intrinseca. Specifica la posizione delle divisioni con un delimitatore, ad esempio ,
(una virgola). Dopo la divisione di una stringa, utilizza la funzione Fn::Select per scegliere un elemento specifico.
Ad esempio, se una stringa di sottorete delimitata da virgole IDs viene importata nel modello di stack, è possibile dividere la stringa in corrispondenza di ogni virgola. Dall'elenco delle sottoretiIDs, utilizzate la funzione Fn::Select
intrinseca per specificare un ID di sottorete per una risorsa.
Dichiarazione
JSON
{ "Fn::Split" : [ "
", "
delimiter
source string
" ] }
YAML
Sintassi per il nome completo della funzione:
Fn::Split: [
,
delimiter
source string
]
Sintassi per la forma breve:
!Split [
,
delimiter
source string
]
Parametri
Devi specificare entrambi i parametri.
- delimitatore
-
Un valore di stringa che determina dove la stringa di origine viene suddivisa.
- stringa di origine
-
Il valore di stringa che desideri suddividere.
Valore restituito
Un elenco di valori di stringa.
Esempi
I seguenti esempi illustrano il comportamento della funzione Fn::Split
.
Elenco semplice
L'esempio seguente suddivide una stringa in corrispondenza di ciascuna barra verticale (|
). La funzione restituisce ["a", "b", "c"]
.
JSON
{ "Fn::Split" : [ "|" , "a|b|c" ] }
YAML
!Split [ "|" , "a|b|c" ]
Elenco con valori di stringa vuoti
Se suddividi una stringa con delimitatori consecutivi, l'elenco risultante includerà una stringa vuota. L'esempio seguente mostra come viene suddivisa una stringa con due delimitatori consecutivi e un delimitatore aggiunto. La funzione restituisce ["a", "", "c",
""]
.
JSON
{ "Fn::Split" : [ "|" , "a||c|" ] }
YAML
!Split [ "|" , "a||c|" ]
Suddivisione di un valore di output importato
L'esempio seguente divide un valore di output importato e quindi seleziona il terzo elemento dall'elenco di subnet IDs risultante, come specificato dalla funzione. Fn::Select
JSON
{ "Fn::Select" : [ "2", { "Fn::Split": [",", {"Fn::ImportValue": "AccountSubnetIDs"}]}] }
YAML
!Select [2, !Split [",", !ImportValue AccountSubnetIDs]]
Funzioni supportate
Per il delimitatore Fn::Split
, non è possibile utilizzare alcuna funzione. Devi specificare un valore di stringa.
Per l'elenco di valori Fn::Split
, puoi utilizzare le seguenti funzioni:
-
Fn::Base64
-
Fn::FindInMap
-
Fn::GetAtt
-
Fn::GetAZs
-
Fn::If
-
Fn::ImportValue
-
Fn::Join
-
Fn::Select
-
Fn::Sub
-
Ref