복합 데이터
그래픽 인터페이스를 사용하여 복잡한 구조화된 데이터 컬렉션 작업을 수행합니다. 설계 사용자가 구조화된 데이터의 구성을 이해하고 개별 요소를 추가, 제거 또는 구성할 수 있도록 지원합니다.
복잡한 데이터를 사용하면 구조화된 데이터를 JSON(JavaScript Object Notation) 또는 XML(eXtensible Markup Language)과 같이 기계가 읽을 수 있는 형식으로 인코딩하고 저장할 수 있습니다. 인터페이스를 사용하여 워크플로우 스튜디오 구조화된 데이터의 구성을 보고 이해할 수 있을 뿐만 아니라 데이터 구조를 생성할 수 있습니다. 예를 들어, 이름, 성, 이메일 주소와 같이 사용자 기록에서 조회하는 정보로 구성된 연락처 데이터 구조를 만들 수 있습니다.
이러한 워크플로우 스튜디오 인터페이스에서 복잡한 데이터를 생성할 수 있습니다.
| 워크플로우 스튜디오 인터페이스 | 사용 예 |
|---|---|
| 작업 입력 및 출력 | 기록 데이터에서 객체를 생성하는 작업을 생성합니다. 작업이 조회하는 기록 데이터를 사용하여 객체를 채웁니다. 기록에서 객체를 생성하는 사용자 지정 동작 생성 문서를 참조하십시오. |
| 스크립트 단계 입력 및 출력 변수 | 스크립트를 작성하여 기록 목록에서 객체 배열을 만듭니다. 기록 목록에서 객체 배열을 생성하는 사용자 지정 작업 생성를 참조하십시오. JSON 문서를 Object 유형의 출력으로 구문 분석하는 스크립트를 작성합니다. |
| 하위 플로우 입력 및 출력 | 객체를 입력으로 받아들이고 이를 사용하여 외부 서비스를 호출하는 하위 플로우를 만듭니다. |
| XML 파서 단계 대상 필드 구성 | XML 파서 단계를 사용하여 XML 페이로드를 복합 데이터 객체로 구문 분석합니다. |
| REST API 트리거 본문 필드 | 인바운드 REST API 요청을 복잡한 데이터 객체로 구문 분석하고 플로우에서 값을 사용합니다. REST API 트리거를 참조하세요. |
복지
- 코드를 작성할 필요 없이 데이터를 구문 분석하고 서식을 지정합니다. 예를 들어, 응답 메시지를 구문 분석하거나 요청 메시지의 형식을 지정하는 데이터 변수를 생성합니다.
- 임의의 데이터 구조를 만듭니다. 예를 들어, 기존 상호작용 및 인시던트 기록의 정보를 결합하는 문제 데이터 구조를 생성하거나 사용자 지정 통합을 지원하는 데이터 구조를 생성합니다.
- 데이터 구조의 구성을 봅니다. 예를 들어 문제 데이터 구조는 문제에 대해 문의할 대상을 설명하는 사용자 개체와 문제 해결을 위해 수행된 작업을 설명하는 기록 개체로 구성될 수 있습니다. 사용자 객체에 나열된 이메일 주소 경로로 알림 작업을 구성하고, 상태 경로를 사용하여 문제 에스컬레이션 하위 플로우를 호출하거나 이력 객체에서 카운트를 재할당할 수 있습니다.
- API 호출에서 데이터 구조에 대한 액세스를 허용합니다. 예를 들어, 스크립트에서 작업 또는 하위 플로우를 호출하고 미리 정의된 데이터 구조를 입력 값으로 사용합니다.
- 데이터 구조를 템플릿으로 저장하고 재사용합니다. 예를 들어 사용자 객체를 다른 작업 및 플로우에서 재사용할 수 있도록 템플릿 데이터 구조로 저장합니다.
데이터 구조
데이터 구조는 계층 구조로 구성된 관련 데이터 요소의 모음입니다. 데이터 구조의 각 요소에는 고유한 데이터 유형과 계층 구조에서 고유한 위치가 있습니다.
예를 들어 이 데이터 구조는 ID 번호, 이름, 시작 날짜 및 연락처 전자 메일에 대한 네 개의 자식 요소가 있는 Employee 부모 요소로 구성됩니다. Contact Email 요소는 하나의 자식이 있는 부모 요소이기도 합니다.
데이터 패널은 기록 변수와 마찬가지로 데이터 구조 계층 구조를 축소 가능하고 확장 가능한 데이터 알약 트리로 표시합니다. 상위 요소에는 계층 구조를 축소하거나 확장하는 화살표 아이콘이 있습니다.
예를 들어, 다음은 데이터 패널에서 볼 수 있는 Employee 데이터 구조입니다.
데이터 패널 또는 데이터 선택기를 사용하여 데이터 구조에서 특정 값을 선택할 수 있습니다. 데이터 구조는 구조 내의 특정 요소로 닷워킹하거나 탐색할 수 있다는 점에서 기록에 대한 데이터 알약과 유사합니다. 데이터 요소를 선택하면 다른 데이터 요소 워크플로우 스튜디오 선택과 마찬가지로 해당 경로에 데이터 알약으로 표시됩니다. 예를 들어 시작 날짜 데이터 요소를 선택하면 경로는 [입력->직원->시작 날짜]입니다.
XPath 또는 JPath와 동일한 방식으로 요소 데이터 경로를 사용할 수 있습니다. 때로는 데이터 알약 경로를 이러한 경로 표기법 중 하나로 변환할 수도 있습니다.
복합 데이터 형식
하나 이상의 Array 또는 Object 변수를 사용하여 데이터 구조를 빌드합니다. 이러한 변수 데이터 유형만 하위 변수를 지원합니다.
배열 변수에는 한 가지 유형의 항목에 대한 값이 포함됩니다. 부모 변수는 항상 배열 데이터 유형이며, 배열에서 지원하는 데이터 유형의 인스턴스 하나인 자식 변수는 항상 하나만 있습니다. 입력 또는 출력에서 동일한 데이터 유형의 여러 값을 허용하는 경우 배열 변수를 만듭니다.
예를 들어 연락처 이메일 배열을 생성하여 지정된 사람과 연결된 모든 이메일 주소를 나열할 수 있습니다.
| 구성요소 레이블 | 데이터 유형 | 샘플 데이터 |
|---|---|---|
| 연락처 이메일 | 배열.문자열 | beth.anglin@example.com 및 beth@anglin.com |
| 연락처 Email_child0 | 문자열 |
Object 변수에는 각각 고유한 데이터 유형과 값이 있는 하위 변수의 수와 배열이 포함됩니다. 객체 변수를 중첩하면 한 테이블에 다른 테이블에 관련 레코드가 있는 테이블 스키마와 유사한 복잡한 데이터 구조를 만들 수 있습니다. 입력 또는 출력이 하나 이상의 관련 속성을 허용하는 경우 객체 변수를 만듭니다.
예를 들어 Employee 개체를 만들어 회사에서 근무하는 사람들에 대한 정보를 정의할 수 있습니다.
| 구성요소 레이블 | 데이터 유형 | 샘플 데이터 |
|---|---|---|
| 직원 | 객체 | |
| ID 번호 | 정수 | 20190304000101 |
| 이름 | 문자열 | Beth Anglin |
| 시작 날짜 | 날짜/시간 | 2019년 3월 4일 |
| 연락처 이메일 | 배열.문자열 | beth.anglin@example.com 및 beth@anglin.com |
이러한 변수 데이터 형식만 부모가 될 수 있습니다.
| 데이터 유형 | 설명 |
|---|---|
| Array.Array | 배열의 컨테이너입니다. 배열 형식의 읽기 전용 자식 항목을 추가합니다. |
| Array.True/False | 참/거짓 값의 컨테이너입니다. True/False 형식의 읽기 전용 자식 항목을 추가합니다. |
| Array.Choice | 선택 값을 위한 컨테이너입니다. 선택 유형의 읽기 전용 하위 항목을 추가합니다. |
| Array.Date/Time | 날짜/시간 값의 컨테이너입니다. 날짜/시간 유형의 읽기 전용 자식 항목을 추가합니다. |
| Array.Integer | 정수 값의 컨테이너입니다. 정수 형식의 읽기 전용 자식 항목을 추가합니다. |
| Array.Object | 객체의 컨테이너입니다. 자식 항목 추가 옵션을 표시하는 Object 형식의 읽기 전용 자식 항목을 추가합니다. |
| 배열.문자열 | 문자열 값의 컨테이너입니다. String 형식의 읽기 전용 자식 항목을 추가합니다. |
| 객체 | 다른 데이터 요소를 위한 컨테이너입니다. 하위 항목 추가 옵션을 표시합니다. |
- 배열
- true/false
- 선택
- 날짜/시간
- 정수
- 객체
- 문자열
고급 옵션
객체 변수에는 데이터 구조를 저장하고 로드하는 고급 옵션이 있습니다. 이러한 옵션을 사용하면 한 위치에 정의된 데이터 구조를 다른 위치에서 재사용할 수 있습니다. 고급 옵션에 대한 자세한 내용은 작업 변수 데이터 유형을 참조하십시오.
데이터 구조 템플릿
데이터 구조 템플릿을 사용하면 여러 작업 또는 하위 플로우에서 객체 변수를 재사용할 수 있습니다. 예를 들어 데이터 구조를 만들어 응답을 구문 분석한 다음 나중에 동일한 데이터 구조를 다시 사용하여 요청의 형식을 지정할 수 있습니다. 템플릿은 하위 변수 목록과 해당 구조를 객체 내에 저장합니다. 각 객체 변수에는 템플릿을 저장하는 고급 옵션이 있습니다.
템플릿을 적용하면 원래 구조의 복사본이 생성됩니다. 템플릿을 적용한 후 변경한 내용은 템플릿에 영향을 주지 않으며 템플릿을 사용하는 다른 작업에도 영향을 주지 않습니다.
배열 데이터 정제
배열 데이터를 포함하는 객체에는 For Each 플로우 로직이 처리되어야 할 수 있습니다. 예를 들어 이메일 주소 배열을 포함하는 사용자 객체는 각 이메일 주소로 알림을 보내기 위해 For Each 플로우 로직 루프가 필요합니다.
객체 데이터 알약
객체 데이터 정제를 입력 값으로 허용하는 작업을 설계할 수 있습니다. 예를 들어 사용자 객체를 입력으로 허용하는 알림 작업을 생성할 수 있습니다. 사용자 객체가 이름, 성 및 주소 값으로 구성된 경우 알림 작업은 이러한 모든 값에 액세스할 수 있습니다. 객체 데이터 정제를 사용하여 작업 입력을 구성하려면 플로우의 앞부분에서 객체를 생성해야 합니다.
객체 데이터 정제 또는 객체의 하위 요소를 사용하여 입력을 구성할 수 있습니다. 객체 데이터 필 워크플로우 스튜디오 을 사용하여 입력 값을 구성하면 객체의 모든 하위 요소를 읽기 전용으로 만들고 작업은 객체에서 제공하는 값을 사용합니다. 예를 들어 한 작업은 사용자 객체를 생성하고 다른 작업은 객체에 지정된 사용자에게 알림을 보내는 플로우를 생성할 수 있습니다.
객체의 자식 요소를 구성할 때는 개체의 각 자식 요소에 대해 데이터 정제를 수동으로 제공해야 합니다. 예를 들어, 이전 작업의 기록 값으로 사용자 객체를 수동으로 구성할 수 있습니다.
스크립트 지원
스크립트에서 복잡한 데이터를 생성하고 참조합니다. 소스 데이터를 데이터 스트림, REST 단계 응답 또는 기록 조회 단계에서 가져오는 경우 스크립트를 사용합니다. 복잡한 데이터를 사용한 스크립팅에 대한 자세한 내용은 을 참조하십시오 복잡한 데이터에 대한 스크립트 지원 .
업데이트 세트 지원
업데이트 세트에는 복잡한 객체가 정의된 플로우, 하위 플로우 또는 작업의 일부로 포함됩니다. 상위 플로우, 하위 플로우 또는 작업을 변경하면 연결된 복잡한 데이터가 자동으로 캡처됩니다.
일반 가이드라인
다음 일반 지침에 따라 재사용 및 유지 관리 가능한 데이터 구조를 생성합니다.
- 계층 구조에서 하위 수준의 수를 최소화합니다.
- 데이터 구조의 하위 수준이 많을수록 계층 구조에서 데이터 변수를 보고 선택하기가 더 어려워집니다. 여러 하위 수준으로 데이터 구조를 빌드할 수 있지만 7개 이상의 하위 수준으로 데이터 구조를 탐색하고 이해하기는 어려워집니다. 최상의 사용자 환경을 위해서는 하위 수준이 너무 많아서 가로로 스크롤하여 보고 채워야 하는 데이터 구조를 만들지 마십시오.
- 각 기록 데이터 유형에 대해 별도의 객체 생성
- 대부분의 워크플로우 스튜디오 데이터는 인스턴스 또는 외부 시스템의 기록 데이터입니다. 이 설계 방법을 사용하면 객체에 포함된 내용과 데이터의 출처를 알 수 있습니다.
- 기록 데이터 구조 재생성
- 레코드 데이터를 수신하거나 전송하는 오브젝트를 빌드할 때 이러한 레코드에 대한 데이터베이스 사전 항목을 검토하고 일치하는 오브젝트 데이터 구조를 작성하십시오. 예를 들어, 인시던트 및 구성 항목 테이블의 데이터를 객체에 포함시키려 한다고 가정해 보겠습니다. 인시던트 테이블의 짧은 설명 필드에 대한 문자열 요소와 구성 항목 테이블에 클래스 필드에 대한 문자열 요소 배열을 만들 수 있습니다.
- 객체를 생성하여 다양한 유형의 기록을 결합합니다.
- 여러 유형의 기록에서 정보가 필요한 경우 필요한 모든 정보를 포함하는 객체를 생성합니다. 그런 다음 개체를 사용하여 의 데이터 형식을 지정하거나 구문 분석할 수 있습니다 워크플로우 스튜디오.