ItemsPath(Map, JSONPath만 해당) - AWS Step Functions

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

ItemsPath(Map, JSONPath만 해당)

상태 관리 및 데이터 트랜스포밍

이 페이지에서는 JSONPath를 참조합니다. Step Functions는 최근에 상태를 관리하고 데이터를 트랜스포밍하기 위해 변수와 JSONata를 추가했습니다.

변수를 사용하여 데이터 전달JSONata를 사용하여 데이터 트랜스포밍에 대해 알아봅니다.

JSONPath 기반 상태에서 ItemsPath 필드를 사용하여 Map 상태에 제공된 JSON 입력 내에서 배열 또는 객체를 선택합니다. 기본적으로 Map 상태는 ItemsPath를 전체 입력을 선택하는 $로 설정합니다.

  • Map 상태에 대한 입력이 JSON 배열인 경우 배열의 각 항목에 대해 반복을 실행하여 해당 항목을 반복에 입력으로 전달합니다.

  • Map 상태에 대한 입력이 JSON 객체인 경우 객체의 각 키-값 페어에 대해 반복을 실행하여 해당 페어를 반복에 입력으로 전달합니다.

참고

워크플로의 이전 상태에서 전달된 JSON 입력을 사용하는 경우에만 Distributed Map 상태에서 ItemsPath를 사용할 수 있습니다.

의 값은 참조 경로ItemsPath여야 하며 해당 경로는 JSON 배열 또는 객체로 평가되어야 합니다. 예를 들어 다음과 같은 두 개의 배열이 포함된 Map 상태를 가정해 보겠습니다.

{ "ThingsPiratesSay": [ { "say": "Avast!" }, { "say": "Yar!" }, { "say": "Walk the Plank!" } ], "ThingsGiantsSay": [ { "say": "Fee!" }, { "say": "Fi!" }, { "say": "Fo!" }, { "say": "Fum!" } ] }

이 경우 ItemsPath로 배열을 선택하여 Map 상태 반복에 사용할 배열을 지정할 수 있습니다. 다음 상태 머신 정의에서는 ItemsPath를 사용하여 입력에서 ThingsPiratesSay 배열을 지정합니다. 그런 다음 ThingsPiratesSay 배열의 항목마다 SayWord Pass 상태 반복을 실행합니다.

{ "StartAt": "PiratesSay", "States": { "PiratesSay": { "Type": "Map", "ItemsPath": "$.ThingsPiratesSay", "ItemProcessor": { "StartAt": "SayWord", "States": { "SayWord": { "Type": "Pass", "End": true } } }, "End": true } } }

중첩된 JSON 객체의 경우 ItemsPath를 사용하여 입력 내에서 특정 객체를 선택할 수 있습니다. 중첩된 구성 데이터가 있는 다음 입력을 고려하세요.

{ "environment": "production", "servers": { "web": { "server1": {"port": 80, "status": "active"}, "server2": {"port": 8080, "status": "inactive"} }, "database": { "primary": {"host": "db1.example.com", "port": 5432}, "replica": {"host": "db2.example.com", "port": 5432} } } }

웹 서버 객체를 반복하려면 $.servers.webItemsPath로 설정합니다.

{ "StartAt": "ProcessWebServers", "States": { "ProcessWebServers": { "Type": "Map", "ItemsPath": "$.servers.web", "ItemProcessor": { "StartAt": "CheckServer", "States": { "CheckServer": { "Type": "Pass", "End": true } } }, "End": true } } }

입력을 처리할 때는 Map 상태는 InputPath 다음에 ItemsPath를 적용합니다. InputPath에서 입력을 필터링한 후에 상태에 유효한 입력에서 작동합니다.

Map 상태에 대한 자세한 내용은 다음을 참조하십시오.