맵퍼
이 맵퍼 작업은 여러 작업의 출력을 결합하고 출력의 객체, 컬렉션, 배열 또는 문자열을 사용자가 원하는 대로 다시 구조화하여 사용자 정의 출력을 만듭니다. 또한 출력에 대해 여러 기능을 수행할 수 있습니다. 이렇게 하면 여러 작업의 특정 필드 값 또는 출력을 검색하고 결합하도록 복잡한 Node.js 코드를 작성할 필요가 없습니다. 맵퍼는 다음 작업을 수행하는 데 도움이 되는 여러 가지 모듈식 함수를 제공합니다.
출력 결합
객체, 배열, 문자열 및 컬렉션 반복
값 조작 및 테스트
맵퍼 작업 사용
이 작업을 워크플로에 사용하려면 ThingWorx Flow에 연결합니다. 흐름에 연결하려면 다음 작업을 수행합니다.
1. 을 클릭하고 개발자 도구 유틸리티에 있는 맵퍼 작업을 캔버스에 끌어 놓고 마우스 포인터로 작업을 가리킨 다음 을 클릭하거나 작업을 두 번 클릭합니다. 맵퍼 작업 창이 열립니다.
2. 필요한 경우 레이블 이름을 편집합니다. 기본적으로 레이블 이름은 작업 이름과 동일합니다.
3. 을 클릭하여 새 키/값 쌍을 만듭니다.
a. 키 필드의 이름을 바꾸고 값을 입력합니다. 이전 작업의 출력을 값 필드에 입력으로 매핑할 수 있습니다.
b. </>를 클릭하여 지정된 입력에 대한 함수를 추가합니다.
을 클릭하여 여러 키/값 쌍을 추가합니다.
4. 완료를 클릭합니다.
맵퍼 데이터 유형
맵퍼는 배열, 컬렉션, 객체 및 문자열 데이터 유형의 입력 값을 수락합니다.
배열 - 지정된 키가 배열을 반환하는 경우 사용합니다. 배열을 데이터 유형으로 설정하려면 을 클릭하고 목록에서 배열을 선택합니다. </>를 클릭하여 배열에 함수를 적용할 수 있습니다.
컬렉션 - 이 데이터 유형은 지정된 키가 객체 배열을 반환하는 경우 사용합니다. 컬렉션 키 또는 키-값 쌍을 컬렉션 키 아래에 별도로 추가할 수 있으므로 이전 작업의 컬렉션을 값 필드에 직접 매핑할 수 있습니다.
컬렉션을 데이터 유형으로 설정하려면 을 클릭하고 목록에서 컬렉션을 선택합니다. </>를 클릭하여 컬렉션에 함수를 적용할 수 있습니다.
객체 - 지정된 키가 객체를 반환하는 경우 사용합니다. 객체 키 또는 키-값 쌍을 객체 키 아래에 별도로 추가할 수 있으므로 이전 작업의 객체를 값 필드에 직접 매핑할 수 있습니다.
객체를 데이터 유형으로 설정하려면 을 클릭하고 목록에서 객체를 선택합니다. 여기에서는 객체의 이름을 지정한 다음 키 필드 옆에 제공된 '+' 링크를 클릭하여 키-값 쌍을 추가해야 합니다. 그런 다음 각 속성에 대한 데이터 유형을 선택할 수 있습니다.
함수를 적용하는 데 사용할 수 있는 콘솔(</>) 링크는 '객체 이름' 필드 옆과 해당 객체의 각 '속성 이름' 필드 옆에 있습니다.
문자열 - 지정된 키가 문자열 값을 반환하는 경우 사용합니다. 기본적으로 모든 키-값 쌍의 데이터 유형은 문자열입니다. </>를 클릭하여 문자열에 함수를 적용할 수 있습니다.
맵퍼에서 기본 제공 함수 사용
맵퍼를 사용하면 이전 작업의 출력에 대해 다양한 함수를 수행할 수 있습니다. 이 작업은 사용할 수 있는 여러 개의 미리 작성된 함수('lodash' 라이브러리에서 가져옴)를 제공합니다. 또는 사용자 정의 함수를 직접 작성할 수 있습니다.
배열 함수:
_.Compact - 지정된 배열에서 false 값을 제거합니다. 더 읽어보기
_.difference - 지정된 개수의 배열에서 첫 번째 배열에 고유한 값이 포함된 배열을 반환합니다. 더 읽어보기
_.flatten - 배열을 단일 수준 깊이로 결합합니다. 더 읽어보기
_.flattenDeep - 전체 배열을 결합합니다. 더 읽어보기
_.intersection - 지정된 모든 배열에 공통되는 값이 포함된 배열을 반환합니다. 더 읽어보기
_.first - 지정된 배열의 첫 번째 요소를 검색합니다. 더 읽어보기
_.last - 지정된 배열의 마지막 요소를 검색합니다. 더 읽어보기
_.uniq - 지정된 배열에서 중복된 값을 제거합니다. 더 읽어보기
객체 함수
_.pick - 지정된 객체 속성과 일치하는 요소가 포함된 객체를 반환합니다. 더 읽어보기
_.get - 객체의 지정된 경로에 표시되는 요소의 값을 반환합니다. 더 읽어보기
_ keys - 객체의 열거 가능한 속성 이름의 배열을 만듭니다. 더 읽어보기
문자열 함수
_.camelCase - 문자열 대/소문자를 camelCase로 변경합니다. 더 읽어보기
_.capitalize - 문자열의 첫 번째 문자는 대문자로 변경하고 나머지는 소문자로 변경합니다. 더 읽어보기
_.kebabcase - 문자열 대/소문자를 kebabCase로 변경합니다. 더 읽어보기
_.lowercase - 지정된 문자열을 소문자로 변환합니다. 더 읽어보기
_.lowerfirst - 문자열의 첫 번째 문자를 소문자로 변환합니다. 더 읽어보기
_.replace - 지정된 조건과 일치하는 문자열을 특정 문자열로 바꿉니다. 더 읽어보기
_.repeat - 지정된 문자열을 지정된 횟수만큼 반복합니다. 더 읽어보기
_.escape - 문자열의 &, <, >, ', 및 " 문자를 해당 HTML 엔티티로 변환합니다. 더 읽어보기
_.trim - 지정된 문자열에서 선행 및 후행 공백과 지정된 문자를 제거합니다. 더 읽어보기
_.unescape - 지정된 문자열의 HTML 엔티티 &, <, >, ", ' 및 `를 해당 문자로 변환합니다. 더 읽어보기
숫자 함수
_.add - 두 숫자를 더합니다. 더 읽어보기
_.ceil - 숫자를 지정된 자릿수까지 반올림합니다. 더 읽어보기
_.divide - 두 숫자를 나눕니다. 더 읽어보기
_.floor - 숫자를 지정된 자릿수까지 반내림합니다. 더 읽어보기
_.multiply - 두 숫자를 곱합니다. 더 읽어보기
_.subtract - 두 숫자를 뺍니다. 더 읽어보기
컬렉션 함수
_filter - 지정된 필터 조건을 충족하는 요소가 포함된 배열을 반환합니다. 더 읽어보기
_.find - 지정된 조건을 충족하는 첫 번째 요소를 반환합니다. 더 읽어보기
예: 맵퍼에서 기본 제공 함수 사용
지정된 배열 목록에서 고유한 값을 단일 배열로 검색하려고 합니다. 이렇게 하려면 배열 작업 작업을 사용하여 두 배열을 연결합니다(몇 개의 공통 값 포함). 그런 다음 맵퍼에서 출력을 사용하고 _.uniq 함수를 수행하여 중복된 값을 필터링합니다.
1. 배열 작업, 맵퍼이메일 보내기 작업을 캔버스에 추가하고 해당 작업을 아래에 표시된 대로 연결합니다.
2. 배열 작업 작업을 다음과 같이 구성합니다.
배열 작업 선택 - 목록에서 연결을 선택합니다.
소스 배열 1 - 연결할 첫 번째 배열을 입력합니다.
소스 배열 2 - 연결할 두 번째 배열을 입력합니다.
더 많은 배열을 추가하려면 추가를 클릭합니다.
의도적으로 두 배열 모두에서 'R2-D2' 및 'Han'을 사용했습니다. 이렇게 하면 반복 값을 포함하는 배열이 생성됩니다. 완료를 클릭합니다. 캔버스로 다시 돌아갑니다.
3. 맵퍼 작업을 다음과 같이 구성합니다.
키1 - 키의 이름을 입력합니다.
을 클릭하여 배열 데이터 유형을 선택한 다음 을 클릭하여 함수를 추가합니다.
을 클릭한 다음 을 클릭하여 '배열 작업' 작업의 출력을 콘솔 창에 입력으로 추가합니다.
함수를 클릭한 다음 _.uniq 함수를 선택하여 배열에서 중복된 값을 제거합니다.
저장을 클릭합니다. 사용자 정의 함수 탭이 값 필드의 입력으로 추가됩니다.
4. 이메일 보내기 작업을 다음과 같이 구성합니다.
받는 사람 - 수신자의 이메일 ID를 입력합니다.
제목 - 이메일의 제목을 입력합니다.
본문 유형 - 이메일의 텍스트 본문 유형을 선택합니다.
본문 - 구성 창의 오른쪽에 제공된 맵퍼 작업의 출력을 이 필드에 대한 입력으로 추가합니다.
5. 완료를 클릭하고 워크플로를 실행합니다. 이렇게 하면 제공된 배열 목록에서 고유한 값을 단일 배열로 검색하고 지정된 수신자에게 보냅니다.
맵퍼에 사용자 정의 함수 추가
맵퍼 작업을 통해 제공된 입력 값에 대한 작업을 수행할 사용자 정의 함수를 작성할 수도 있습니다. 사용자 정의 함수를 이해하려면 다음 예를 참조하십시오.
위의 예를 계속합니다. 이전에 구현한 _.uniq 함수의 출력에 대해 사용자 정의 함수를 적용해 보겠습니다.
1. 다음 그림과 같이 기존 코드에 대해 변경 작업을 수행합니다.
2. 콘솔에 사용자 정의 함수 추가를 완료합니다. 저장을 클릭한 다음 워크플로를 실행합니다.
* 
또한 지정된 입력에만 구현할 수 있는 사용자 정의 함수를 작성할 수 있습니다.
출력 스키마
맵퍼 작업은 입력된 키/값 쌍에 따라 출력 스키마를 반환합니다. 다음 그림에서 샘플 출력 스키마를 확인하십시오.