8.9. 데이터 매퍼를 사용하여 컬렉션 처리
흐름에서 단계가 컬렉션을 출력하고 흐름에 있는 후속 연결이 컬렉션을 입력으로 예상하는 경우 데이터 매퍼를 사용하여 컬렉션을 처리할 방법을 지정할 수 있습니다.
단계가 컬렉션을 출력하면 흐름 시각화가 단계에 대한 세부 정보에 컬렉션을 표시합니다. 예를 들면 다음과 같습니다.
컬렉션을 제공하는 단계와 매핑이 필요한 단계 앞에 데이터 매퍼 단계를 추가합니다. 흐름에서 이 데이터 매퍼 단계는 흐름의 다른 단계에 따라 달라집니다. 다음 이미지는 소스 컬렉션 필드에서 대상 컬렉션 필드로의 매핑을 보여줍니다.
소스 및 대상 패널에서 데이터 매퍼는 를 표시하여 컬렉션을 나타냅니다.
컬렉션이 복잡한 유형인 경우 데이터 매퍼는 컬렉션의 하위 필드를 표시합니다. 각 필드에서 매핑할 수 있습니다.
소스 필드가 여러 컬렉션에 중첩된 경우 다음 조건 중 하나를 충족하는 대상 필드에 매핑할 수 있습니다.
target 필드는 소스 필드와 동일한 수의 컬렉션에 중첩되어 있습니다. 예를 들어 이러한 매핑이 허용됩니다.
-
/A<>/B<>/C
/D<>/E<>/F -
/A<>/B<>/C
/G<>/H/I<>/J
-
/A<>/B<>/C
대상 필드는 하나의 컬렉션에만 중첩됩니다. 예를 들어 이 매핑은 허용됩니다.
/A<>/B<>/C
/K<>/L 이 경우 데이터 매퍼는 깊이 우선 알고리즘을 사용하여 소스의 모든 값을 반복합니다. 데이터 매퍼는 발생 순서대로 소스 값을 단일 대상 컬렉션에 배치합니다.
다음 매핑은 허용되지 않습니다.
/A<>/B<>/C cannot-map-to /M<>/N/O<>/P<>/Q
Fuse Online에서 흐름을 실행하면 소스 컬렉션 요소를 반복하여 대상 컬렉션 요소를 채웁니다. 하나 이상의 소스 컬렉션 필드를 대상 컬렉션 또는 대상 컬렉션 필드에 매핑하는 경우 대상 컬렉션 요소에는 매핑된 필드에 대한 값만 포함됩니다.
소스 컬렉션의 소스 컬렉션 또는 필드를 컬렉션에 없는 대상 필드에 매핑하는 경우 Fuse Online에서 흐름을 실행할 때 소스 컬렉션의 마지막 요소 값만 할당합니다. 컬렉션의 다른 요소는 해당 매핑 단계에서 무시됩니다. 그러나 후속 매핑 단계는 소스 컬렉션의 모든 요소에 액세스할 수 있습니다.
연결에서 JSON 또는 Java 문서에 정의된 컬렉션을 반환하는 경우 데이터 매퍼는 일반적으로 소스 문서를 컬렉션으로 처리할 수 있습니다.