변수 집합 노드를 사용하여 흐름 내에서 재사용할 수 있는 매핑 만들기
정의된 매핑을 사용하여 자체 데이터 속성을 만들어 플로우에서 변수로 사용할 수 있습니다 App Connect 흐름에서 변수로 사용할 수 있습니다. 이렇게 하면 흐름의 한 위치에 사용자 지정 매핑을 만들어 저장하고 동일한 흐름의 다른 위치에서 이러한 매핑을 반복적으로 참조할 수 있습니다.
변수 설정 노드를 사용하여 재사용 가능한 사용자 지정 매핑을 만들 수 있습니다. 이 노드에는 특정 JSON 데이터 유형(예: 문자열, 객체 또는 배열)의 단순 또는 복합 변수를 정의하는 데 사용할 수 있는 속성 편집기가 포함되어 있습니다. 편집기를 사용하여 먼저 이름, 데이터 유형 및 구조(데이터 유형이 객체 또는 객체의 배열인 경우)가 할당된 속성(변수로)을 생성합니다. 그런 다음 흐름의 이전 노드에서 값을 사용하여 이러한 프로퍼티에 매핑을 할당합니다. 정의한 후에는 이러한 속성이나 변수를 흐름의 후속 노드에서 입력으로 여러 번 사용할 수 있습니다.
변수 설정 노드는 도구 상자 탭에서 사용할 수 있습니다. 매핑을 변수로 참조할 모든 노드보다 이 노드를 플로우에 먼저 배치해야 합니다.

재사용 가능한 매핑 정의 및 사용
변수 설정 노드에서 다음과 같이 재사용 가능한 매핑을 정의할 수 있습니다:
- 속성을 정의하려면 속성 추가를 사용하여 각 속성의 이름과 데이터 유형을 추가합니다.
그림 2. 흐름에 삽입된 변수 노드를 설정하여 속성 추가 및 매핑 편집 버튼을 표시합니다 
객체 또는 객체 배열 데이터 유형을 가진 속성의 경우 계층적 부모/자식 관계를 식별하는 구조도 정의해야 합니다. 속성 추가에 대한 자세한 내용은 예제 1을 참조하세요. 속성 편집기 사용 및 예제 2. 속성 편집기를 사용하여 '소스' 배열을 '대상' 배열에 매핑하기 나만의 데이터 속성 정의하기 항목에 나와 있습니다. 이 노드에서 여러 프로퍼티 집합을 정의할 수 있습니다.
다음 예는 누군가가 회사의 이벤트에 참석하기 위해 등록할 때 트리거되는 흐름에서 사용하도록 정의된
Attendee속성 집합을 보여줍니다.그림 3. 변수 집합 노드의 속성 정의 
- 속성을 필드로 노출하여 흐름의 이전 노드에 있는 필드에 매핑하여 값을 지정할 수 있습니다. 매핑 편집을 클릭하여 속성 필드를 표시한 다음 예제 1에 설명된 대로 해당 매핑을 정의합니다. 속성 편집기 사용 자체 데이터 속성 정의 주제에서 확인할 수 있습니다.참고: 매핑에 JSONata 표현식을 적용할 수도 있습니다. 다음 예는 이전 이미지의
Attendee속성에 대한 완성된 매핑을 보여줍니다.그림 4. 변수 설정 노드의 프로퍼티에 대한 매핑 
이제 정의된 매핑을 흐름의 후속 노드에서 재사용할 수 있습니다. 이벤트에 대한 확인 이메일에 새 참석자의 성명을 포함시키고 싶다고 가정해 보겠습니다( Gmail / 메시지 만들기 작업으로 구현됨). 또한 관리하고 있는 스프레드시트에 새 참석자의 성명을 포함한 세부 정보를 추가하려고 합니다( Google 시트 / 행 만들기 작업으로 구현됨). 참석자의 직함, 이름, 성(예: Ms Jane DOE)의 조합인 [FullName] 매핑을 이 두 노드에서 모두 재사용할 수 있습니다. 재사용을 보여주는 다음 예시에서는 재사용 가능한 매핑이 사용 가능한 입력 목록의 변수 설정 섹션 아래에 표시되어 있는 것을 확인할 수 있습니다.


예
회사에서 많은 이벤트를 관리하는 데 사용하는 이벤트브라이트 계정( MattClarkeEventsInc )이 있습니다.
이러한 이벤트 중 하나에 새로운 참석자를 받을 때마다 다음과 같은 방식으로 응답할 수 있기를 원합니다:
- 새 참석자에게 이메일로 응답하여 회사의 다른 참석자에 대한 정보를 제공합니다.
- 검색된 기존 참석자 각각에 대해 회사에서 새 참석자를 알리기 위해 이메일을 보냅니다.
- 새 참석자에 대한 정보를 스프레드시트에 추가하여 알려진 참석자 목록과 함께 최신 상태로 유지하고, 참석자가 회사 직원인지 여부를 표시합니다.
이메일을 보내고 스프레드시트를 계속 업데이트하려면 다음 정보가 필요합니다:
- 참석자의 전체 이름
- 참석자 이메일
- 이벤트 이름
- 내 회사 직원인 경우
- 관련 참석자 정보 목록 - 각 동료의 이름과 이메일
내 이벤트 관리 흐름
새 참석자를 받으면 기존 Eventbrite 검색 작업을 사용하여 다음 정보를 수집합니다:
- 이벤트 자체(새 참석자의 이벤트 ID 사용)
- 이벤트의 모든 참석자(새 참석자와 동일한 이벤트 ID 사용)
변수 설정 노드를 사용하면 필요한 모든 정보를 가독성 있는 데이터 구조로 통합한 다음 매핑할 수 있습니다. 변수의 구조를 다음과 같이 정의합니다:

그런 다음 매핑 편집을 사용하여 각 속성의 매핑을 정의하고 적절한 경우 JSONata 표현식을 사용합니다:

참석자 및 이벤트 정보는 매우 사소한 매핑이며, 가장 복잡한 것은 참석자가 내 직원인지 아닌지를 도출하는 것입니다.
매핑은 FellowAttendees 매핑은 객체 배열 유형인데, 각각에 대한 정보가 포함된 참석자 객체 목록이어야 하기 때문입니다. 해당 매핑은 반복할 수 있는 배열을 출력하고 하위 속성에 매핑을 적용해야 합니다.

배열의 내용이 새 참석자와 같은 회사의 모든 현재 참석자를 포함해야 합니다 FellowAttendees 배열의 내용에 새 참석자와 같은 회사 소속의 현재 참석자가 모두 포함되어야 합니다. 이 목록을 설정하기 위해 다음 JSONata 표현식을 사용했습니다:
$EventbriteRetrieveattendees[profile.company=$Trigger.profile.company][profile.email != $Trigger.profile.email]
매핑을 위한 술어( [ ] )에 포함된 규칙이 참석자 목록을 평가합니다:
- 새 참석자의 회사와 일치하는 회사
- 하지만 해당 참석자가 아닌 사람의 이메일이므로 해당 목록에 새 참석자가 없습니다
이제 플로우에서 수행하려는 작업에 이러한 매핑을 사용할 수 있습니다.

동료 참석자 목록을 배열 구조로 가지고 있기 때문에 이메일로 보낼 때 해당 정보를 더 읽기 쉬운 형식으로 추출할 수 있는 몇 가지 논리를 적용해야 합니다. JSONata에는 배열 구조로 작업할 때 사용할 수 있는 함수 집합이 있습니다. 이번에는 $map 함수를 사용하여 모든 배열 항목을 더 읽기 쉬운 참석자 이름과 이메일 문자열로 변환합니다.
평가된 샘플 데이터를 보면 본문 필드에 대한 매핑의 제안된 출력이 이메일 수신자가 읽을 수 있는 것임을 알 수 있습니다.

이제 동료 참석자에게 이메일을 보내는 대량 작업을 수행하기 위해 변수 설정 노드 매핑에 설정된 것과 동일한 배열 구조를 반복하는 For each 노드를 사용했습니다.

이를 통해 변수 설정 노드 매핑을 사용하여 해당 목록의 모든 참석자에게 전송할 표준 이메일 템플릿을 다시 만들 수 있습니다:

그런 다음 변수 설정 노드 매핑을 스프레드시트의 새 행에 삽입할 값으로 재사용합니다:

이제 내 플로우가 완성되어 전환할 준비가 되었습니다.