경로 - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

경로

Amazon States Language에서 경로는 JSON 텍스트 내 구성 요소를 식별하는 데 사용할 수 있는 $로 시작하는 문자열입니다. 경로는 JsonPath구문을 따릅니다. InputPath, ResultPathOutputPath의 값을 지정할 때 입력 하위 집합에 액세스하기 위한 경로를 지정할 수 있습니다 자세한 내용은 Step Functions에서 입력 및 출력 처리 섹션을 참조하세요.

참고

상태 정의의 Parameters 필드 내에서 경로를 사용하여 입력 또는 컨텍스트 객체의 JSON 노드를 지정할 수 있습니다. 파라미터를 서비스 API에 전달 섹션을 참조하십시오.

필드 이름에 JsonPath ABNF 규칙 member-name-shorthand 정의에 포함되지 않은 문자가 포함된 경우 대괄호 표기법을 사용해야 합니다. 따라서 구두점(_ 제외)과 같은 특수 문자를 인코딩하려면 대괄호 표기법을 사용해야 합니다. 예를 들어 $.abc.['def ghi']입니다.

참조 경로

참조 경로는 JSON 구조에서 단일 노드만 식별할 수 있는 방식으로 구문이 제한되는 경로입니다.

  • 객체 필드는 점(.) 및 대괄호([ ]) 표기를 통해서만 액세스할 수 있습니다.

  • length()가 지원되지 않은 등의 함수

  • 기호가 아닌 어휘 연산자(예: subsetof)는 지원되지 않습니다.

  • 정규 표현식을 기준으로 또는 JSON 구조의 다른 값을 참조하는 필터링은 지원되지 않습니다.

  • 필터에서 처리 중인 현재 노드와 일치하는 @ 연산자는 스칼라 값과 일치하지 않습니다. 객체만 일치합니다.

예를 들어 상태 입력 데이터에 다음과 같은 값이 포함된 경우:

{ "foo": 123, "bar": ["a", "b", "c"], "car": { "cdr": true }, "jar": [{"a": 1}, {"a": 5}, {"a": 2}, {"a": 7}, {"a": 3}] }

다음과 같은 참조 경로가 반환합니다.

$.foo => 123 $.bar => ["a", "b", "c"] $.car.cdr => true $.jar[?(@.a >= 5)] => [{"a": 5}, {"a": 7}]

특정 상태에서는 경로 및 참조 경로를 사용하여 상태 머신의 흐름을 제어하거나 상태 설정 또는 옵션을 구성합니다. 자세한 내용은 데이터 흐름 시뮬레이터를 사용한 워크플로 입력 및 출력 경로 처리 모델링하기 및 에서 JSONPath의 효과적인 사용을 참조하십시오. AWS Step Functions

배열의 배열 평면화

상태 시스템의 Parallel 또는 상태에서 배열의 배열을 반환하는 경우 ResultSelector 필드를 사용하여 배열을 평면 배열로 변환할 수 있습니다. Parallel 또는 Map 상태 정의 내에 이 필드를 포함하여 이러한 상태의 결과를 조작할 수 있습니다.

배열을 평면화하려면 다음 예제와 같이 ResultSelector 필드에서 JMESPath 구문 [*]을 사용합니다.

"ResultSelector": { "flattenArray.$": "$[*][*]" }

배열을 평면화하는 방법을 보여주는 예제는 다음 자습서의 3단계를 참조하세요.