복잡한 데이터에 대한 스크립트 지원

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기5분
  • 스크립트에서 복잡한 데이터를 생성하고 참조합니다. 소스 데이터를 데이터 스트림, REST 단계 응답 또는 기록 조회 단계에서 가져오는 경우 스크립트를 사용합니다.

    이러한 소스에서 데이터를 가져오는 경우 스크립트를 사용하여 복잡한 데이터를 생성합니다.

    표 1. 스크립트가 필요한 데이터 소스
    데이터 소스 에서 복잡한 데이터 생성/매핑
    데이터 스트림 작업 응답 스트림 스크립트 파서 단계
    REST 단계 응답 스크립트 단계
    기록 조회 단계

    데이터 스트림 작업 응답 스트림

    데이터 스트림 작업은 파서 스크립트를 사용하여 스트림 항목 값을 복합 객체 값에 매핑합니다. 파서 스크립트를 작성할 때 데이터 스트림 형식에 적합한 JavaScript 메서드를 사용합니다. 예를 들어 JSON - 범위가 지정된 클래스를 사용하여 JSON 데이터 스트림을 구문 분석하거나 인코딩합니다.

    파서 스크립트는 데이터 스트림 입력 및 출력 객체와 targetObject 속성에 대한 액세스 권한을 갖습니다. 응답 스트림을 구문 분석하여 복잡한 데이터를 생성하는 방법에 대한 자세한 내용은 데이터 스트림 작업을 참조하십시오.

    REST 단계 응답

    스크립트 단계로 구문 분석하여 REST 단계 응답을 하나 이상의 복잡한 객체로 변환할 수 있습니다. 스크립트 단계에서 응답에 액세스하려면 입력 스크립트 변수를 생성하고 이전 REST 단계의 응답 페이로드에 매핑해야 합니다. 스크립트 입력 변수 생성에 대한 자세한 내용은 을 참조하십시오 스크립트 단계 .

    REST 응답 값을 복합 객체 값에 매핑하는 스크립트를 작성합니다. REST 응답 스크립트를 작성할 때는 JSON parse() 메서드와 같이 응답 형식에 적합한 JavaScript 메서드를 사용합니다.

    주:
    복잡한 데이터를 문자열 입력의 소스로 사용하는 경우 자동으로 워크플로우 스튜디오 JSON 문자열로 변환합니다.

    복잡한 데이터에서 REST 요청을 생성하기 위해 스크립트 단계를 사용할 필요가 없습니다. 이전 작업 또는 단계에서 복잡한 데이터를 생성한 다음 REST 단계의 문자열 입력에 매핑할 수 있습니다. 런타임에 작업 또는 플로우는 복잡한 데이터를 JSON 표현으로 변환합니다.

    예를 들어, 데이터 수집 작업에 사용되는 동적 입력 시작하기 스크립트 단계를 참조하십시오. 테이블 및 필드 이름을 가져오기 위한 데이터 수집 작업은 모두 스크립트 단계를 사용하여 REST 응답을 JSON 객체로 구문 분석합니다. 두 데이터 수집 작업 모두 복잡한 데이터를 JSON 객체로 저장하는 출력 변수도 생성합니다.

    기록 조회 단계

    플로우는 각 플로우 로직에 대해 기록 목록을 처리할 수 있지만 동작에는 스크립트 단계가 필요합니다. 스크립트 단계에서는 For each 플로우 로직을 For 또는 While 루프와 같은 JavaScript로 대체합니다.

    스크립트 단계에서 기록 데이터에 접근하려면 입력 스크립트 변수를 생성하고 이를 이전 조회 단계의 기록 데이터에 매핑해야 합니다. 스크립트 입력 변수 생성에 대한 자세한 내용은 을 참조하십시오 스크립트 단계 .

    사용자 기록 목록을 연락처 객체의 배열로 변환하는 예시 작업을 참조하십시오 기록 목록에서 객체 배열을 생성하는 사용자 지정 작업 생성 .

    주:
    기록 조회 작업은 기록 데이터를 복잡한 데이터로 변환하기 위해 스크립트 단계가 필요하지 않습니다. 사용자 지정 작업을 생성하여 기록을 객체로 변환하고 각 플로우에 대해 사용자 지정 작업에 논리를 적용할 수 있습니다. 스크립트를 사용하지 않고 복잡한 객체를 생성하는 예제는 AND 사용자 지정 플로우를 생성하여 목록의 각 기록에 대한 객체 생성 를 참조하십시오기록에서 객체를 생성하는 사용자 지정 동작 생성.

    닷워킹 객체 구조

    구조물의 경로를 닷워킹하여 객체의 구조에서 요소를 참조할 수 있습니다. 모든 복잡한 데이터 경로는 데이터 소스의 이름으로 시작합니다. 이 이름은 입력에 대한 전역 객체, 출력에 대한 전역 객체 또는 스크립트에서 생성한 배열 또는 객체의 이름입니다.

    경로의 다음 단계는 참조되는 각 구조 요소의 이름으로, 마침표 문자(점이라고도 함)로 구분됩니다. 구조적 요소의 이름을 나열하는 것은 특정 참조 필드에 테이블 구조를 나열하는 참조 필드를 닷워킹하는 것과 같습니다.

    주:
    닷워킹 경로는 항상 레이블이 아닌 구조 요소의 이름을 나열합니다.

    예를 들어, 연락처 개체를 출력 변수로 정의한다고 가정합니다. 개체의 구조는 다음과 같습니다.

    그림 1. 샘플 연락처 객체
    Contact에 대한 복합 객체를 포함하는 스크립트 단계 출력 변수입니다.
    구조에 배치 레이블 이름 유형
    상위 연락처 연락처 객체
    하위 이름 first_name 문자열
    하위 last_name 문자열
    하위 이메일 주소 email_addresses Array.Object
    손자 이메일 주소 email_address 객체
    증손자 유형 유형 선택
    증손자 이메일 이메일 문자열
    하위 전화 telephone_number Array.Object
    하위 우편물 발송 주소 mailing_address Array.Object

    이름 구조 요소에 대한 닷워킹 경로는 outputs.contact.first_name되고 이메일 구조 요소에 대한 경로는 JavaScript 인덱스 값으로 배열의 개별 요소를 지정해야 하므로 outputs.contact.email_addresses[0].email 됩니다.

    주:
    닷워킹 경로는 배열 내에서 반복되는 요소의 이름을 생략합니다. 예를 들어, 객체 배열은 객체 요소 이름을 지정할 필요가 없습니다. 그러나 개체는 다른 요소에 대한 컨테이너이므로 닷워킹 경로 내에서 개체의 자식 요소를 지정할 수 있습니다.

    일반 가이드라인

    복잡한 데이터로 스크립팅할 때는 다음과 같은 일반적인 지침을 염두에 두십시오.

    문자열 입력을 사용하여 복잡한 데이터를 JSON 문자열로 변환
    복잡한 데이터를 문자열 입력에 매핑하면 에서 워크플로우 스튜디오 자동으로 JSON 문자열로 변환합니다. 스크립트를 작성하는 대신 REST 단계에 문자열 입력을 추가하고 이전 작업 또는 단계의 복잡한 데이터에 매핑할 수 있습니다.
    개체를 템플릿으로 저장
    객체를 템플릿으로 저장하면 다른 작업, 플로우 및 스크립트 단계에서 다시 사용할 수 있습니다.
    이전 데이터에 액세스하기 위한 스크립트 입력 변수 생성
    작업 입력 또는 이전 단계에서 액세스하려는 데이터에 대한 스크립트 입력 변수를 생성합니다. 스크립트 입력 변수를 입력 또는 단계 데이터 알약에 매핑합니다. 예를 들어, 스크립트 입력 변수를 이전 단계에서 조회한 사용자 기록 목록에 매핑합니다.
    복잡한 데이터를 저장할 스크립트 출력 변수 생성
    스크립트에서 생성하는 모든 복합 데이터를 저장할 스크립트 출력 변수를 생성합니다. 스크립트 출력 변수는 스크립트에 정의된 값과 일치해야 합니다. 예를 들어, 여러 contact 객체를 저장할 contacts 배열을 만듭니다. 연락처 개체를 템플릿으로 저장하여 다시 사용할 수 있습니다.
    작업 출력을 스크립트 출력 변수에 매핑
    사용자 지정 작업으로 복잡한 데이터를 출력하려면 작업 출력을 추가하고 스크립트 단계 출력 변수에 대한 데이터 정제에 매핑합니다. 예를 들어 contacts 배열을 만들고 이전에 저장한 contact 개체 템플릿을 로드합니다. 작업 출력을 스크립트 단계에서 생성된 연락처 배열에 매핑합니다.