경로를 사용하여 Step Functions 워크플로의 입력에 액세스하기 - AWS Step Functions

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

경로를 사용하여 Step Functions 워크플로의 입력에 액세스하기

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

참고

상태 정의 Parameters 필드 내의 경로를 사용하여 입력 또는 컨텍스트 개체의 JSON 노드를 지정할 수도 있습니다. Step API Functions에서 서비스에 파라미터 전달하기을 참조하세요.

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

참조 경로

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

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

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

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

  • 정규 표현식을 통한 필터링이나 JSON 구조체의 다른 값을 참조하는 필터링은 지원되지 않습니다.

  • @, ,:, 및 ? 연산자는 지원되지 않습니다.

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

{ "foo": 123, "bar": ["a", "b", "c"], "car": { "cdr": true } }

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

$.foo => 123 $.bar => ["a", "b", "c"] $.car.cdr => true

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

배열의 배열 평면화

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

배열을 평면화하려면 다음 예제와 같이 [*] ResultSelector 필드의 JMESPath구문을 사용하십시오.

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

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