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