Este é o novo Guia de referência de modelos do AWS CloudFormation. Atualize seus favoritos e links. Para obter ajuda para começar a usar o CloudFormation, consulte o Guia do usuário do AWS CloudFormation.
Fn::Split
Para dividir uma string em uma lista de valores de string, para que você possa selecionar um elemento na lista de strings resultante, use a função intrínseca Fn::Split. Especifique o local das divisões com um delimitador, como , (uma vírgula). Após dividir uma string, use a função Fn::Select para escolher um elemento específico.
Por exemplo, se uma string de IDs de sub-rede delimitada por vírgulas for importada para seu modelo de pilha, você poderá dividir a string em cada vírgula. Na lista de IDs de sub-rede, use a função intrínseca Fn::Select para especificar um ID de sub-rede para um recurso.
Declaração
JSON
{ "Fn::Split" : [ "", "delimitersource string" ] }
YAML
Sintaxe para o nome da função completo:
Fn::Split: [,delimitersource string]
Sintaxe para a forma resumida:
!Split [,delimitersource string]
Parâmetros
Você deve especificar os dois parâmetros.
- delimitador
-
Um valor de string que determina onde a string de origem será dividida.
- string de origem
-
O valor de string que você deseja dividir.
Valor de retorno
Uma lista de valores de string.
Exemplos
Os exemplos a seguir demonstram o comportamento da função Fn::Split.
Lista simples
O exemplo a seguir divide uma string em cada barra vertical (|). A função exibe ["a", "b", "c"].
JSON
{ "Fn::Split" : [ "|" , "a|b|c" ] }
YAML
!Split [ "|" , "a|b|c" ]
Lista com valores de string vazios
Se você dividir uma string com delimitadores consecutivos, a lista resultante incluirá uma string vazia. O exemplo a seguir mostra como uma string com dois delimitadores consecutivos e um delimitador anexado é dividida. A função exibe ["a", "", "c",
""].
JSON
{ "Fn::Split" : [ "|" , "a||c|" ] }
YAML
!Split [ "|" , "a||c|" ]
Divisão de um valor de saída importado
O exemplo a seguir divide um valor de saída importado e seleciona o terceiro elemento na lista resultante de IDs de sub-rede, conforme especificado pela função Fn::Select.
JSON
{ "Fn::Select" : [ "2", { "Fn::Split": [",", {"Fn::ImportValue": "AccountSubnetIDs"}]}] }
YAML
!Select [2, !Split [",", !ImportValue AccountSubnetIDs]]
Funções compatíveis
No delimitador Fn::Split, não é possível usar nenhuma função. É necessário especificar um valor de string.
Para a lista de valores Fn::Split, use as seguintes funções:
-
Fn::Base64 -
Fn::FindInMap -
Fn::GetAtt -
Fn::GetAZs -
Fn::If -
Fn::ImportValue -
Fn::Join -
Fn::Select -
Fn::Sub -
Ref