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 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