Fn::Split - AWS CloudFormation

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 delimitata dalla virgola di ID di una sottorete viene importata nel tuo modello di stack, puoi suddividere la stringa in corrispondenza di ciascuna virgola. Dall'elenco di ID della sottorete, utilizza la funzione Fn::Select intrinseca per specificare un ID della 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 mostra la suddivisione di un valore di output importato e la selezione del terzo elemento dall'elenco risultante di ID della sottorete, 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