Fn::Split - AWS CloudFormation

Fn::Split

결과로 얻은 문자열 목록에서 요소를 선택할 수 있도록 문자열을 문자열 값 목록으로 분할하려면 Fn::Split 내장 함수를 사용합니다. 쉼표(,)와 같은 구분 기호를 사용하여 분할 위치를 지정합니다. 문자열을 분할한 후 Fn::Select 함수를 사용하여 특정 요소를 선택합니다.

예를 들어, 쉼표로 구분된 서브넷 ID 문자열을 스택 템플릿으로 가져올 경우 각 쉼표로 문자열을 분할할 수 있습니다. 서브넷 ID 목록에서 Fn::Select 내장 함수를 사용하여 리소스에 대한 서브넷 ID를 지정합니다.

선언

JSON

{ "Fn::Split" : [ "delimiter", "source string" ] }

YAML

전체 함수 이름의 구문:

Fn::Split: [ delimiter, source string ]

짧은 형식의 구문:

!Split [ delimiter, source string ]

파라미터

두 파라미터를 모두 지정해야 합니다.

delimiter

원본 문자열을 분할할 위치를 결정하는 문자열 값입니다.

source string

분할할 문자열 값입니다.

반환 값

문자열 값의 목록입니다.

예제

다음은 Fn::Split 함수의 동작을 설명하는 예제입니다.

단순 목록

다음은 각 세로 막대(|)에서 문자열을 분할하는 예제입니다. 이 함수는 ["a", "b", "c"]를 반환합니다.

JSON

{ "Fn::Split" : [ "|" , "a|b|c" ] }

YAML

!Split [ "|" , "a|b|c" ]

 

빈 문자열 값 목록

연속하는 구분 기호로 문자열을 분할할 경우 결과 목록에 빈 문자열이 포함됩니다. 다음은 두 개의 연속하는 구분 기호와 추가 구분 기호로 문자열을 분할하는 방법을 보여주는 예제입니다. 이 함수는 ["a", "", "c", ""]를 반환합니다.

JSON

{ "Fn::Split" : [ "|" , "a||c|" ] }

YAML

!Split [ "|" , "a||c|" ]

 

가져온 출력 값 분할

다음은 Fn::Select 함수에 지정된 대로 가져온 출력 값을 분할한 다음 서브넷 ID의 결과 목록에서 세 번째 요소를 선택하는 예제입니다.

JSON

{ "Fn::Select" : [ "2", { "Fn::Split": [",", {"Fn::ImportValue": "AccountSubnetIDs"}]}] }

YAML

!Select [2, !Split [",", !ImportValue AccountSubnetIDs]]

지원되는 함수

Fn::Split 구분 기호의 경우 어떠한 함수도 사용할 수 없습니다. 문자열 값을 지정해야 합니다.

Fn::Split 값 목록의 경우 다음 함수를 사용할 수 있습니다.

  • Fn::Base64

  • Fn::FindInMap

  • Fn::GetAtt

  • Fn::GetAZs

  • Fn::If

  • Fn::ImportValue

  • Fn::Join

  • Fn::Select

  • Fn::Sub

  • Ref