데이터 스트림 작업 및 페이지 매김
워크플로우 스튜디오의 REST, SOAP 또는 JDBC 요청을 10MB보다 큰 응답 데이터 스트림을 반환하거나 페이지가 매겨진 결과를 반환하는 API로 보냅니다. 스트림 데이터를 복합 객체 출력 시리즈로 구문 분석하고 플로우에서 다른 작업에 데이터 정제를 사용합니다.
혜택
데이터 스트림 행동은 이러한 이점을 제공합니다.
- 10MB보다 큰 응답 데이터 스트림을 구문 분석하고 형식을 지정합니다.
- 해당하는 경우 결과를 페이지 매김하는 API에 여러 요청을 자동으로 보냅니다.
- 데이터 소스를 만드는 데 통합 허브 -수입 사용할 수 있습니다.
- Flow Designer가 복잡한 코딩이나 구성 없이 대용량 요청을 처리할 수 있습니다.
- 다음을 수행할 Flow Designer를 활성화합니다. For Each 플로우 논리를 사용하여 데이터 스트림 내 각 객체를 처리합니다. 예를 들어 외부 공급업체 사이트에서 문서 데이터를 임포트하는 데이터 스트림 동작을 생성할 수 있습니다. 플로우에 작업을 추가하면 Flow Designer가 데이터 스트림의 각 객체에 대해 ServiceNow에서 기록을 쉽게 생성할 수 있도록 워크플로우 스튜디오가 For Each 플로우 논리 블록에 자동으로 작업을 추가합니다. 데이터 스트림 플로우에서 작업 사용 문서를 참조하십시오.
- Flow Designer가 동일한 데이터 소스를 여러 가지 방법으로 사용하여 여러 플로우에서 작업을 재사용할 데이터 스트림 수 있도록 합니다.
데이터 스트림 작업 실행
작업은 두 가지 방법으로 실행할 수 있습니다 데이터 스트림 .
- 플로우에서
- 할 수 있습니다. For Each 플로우 논리를 사용하여 데이터 스트림 내 각 객체를 처리합니다. 예를 들어 외부 공급업체 사이트에서 문서 데이터를 임포트하는 데이터 스트림 동작을 생성할 수 있습니다. 플로우에 작업을 추가하면 Flow Designer가 데이터 스트림의 각 객체에 대해 ServiceNow에서 기록을 쉽게 생성할 수 있도록 워크플로우 스튜디오가 For Each 플로우 논리 블록에 자동으로 작업을 추가합니다. 데이터 스트림 플로우에서 작업 사용 문서를 참조하십시오.
- 스크립트에서
- FlowAPI 클래스의 executeDataStreamAction() 메서드를 사용하여 시작할 데이터 스트림 수 있습니다. 자세한 내용은 FlowAPI 단원을 참조하십시오.
작업 개요
데이터 스트림 작업은 집합 구조를 따릅니다. 프롬프트에 따라 작업 개요에서 단계를 추가하고 제거합니다. 동작에 데이터 스트림 단계를 수동으로 추가할 수 없습니다.
작업 오류 평가
오류 평가를 사용하여 단계 오류를 포착하고 데이터 스트림 동작에 추가하는 각 단계의 오류 동작을 지정합니다. 작업이 오류 상태를 반환하는 시기와 작업이 반환하는 상태 코드 및 메시지를 지정하여 고유한 오류 조건을 만들 수도 있습니다.
작업 전처리
작업 전처리 범주를 사용하여 연결 및 자격 증명 상세 정보를 검색하거나 전처리 스크립트를 실행합니다.
연결에 사용할 연결 및 자격 증명 상세 정보를 검색하려면 연결 정보 검색을 선택합니다. 이 옵션을 선택하면 연결 정보 가져오기 단계가 작업 전처리의 첫 번째 단계로 추가됩니다. 자세한 내용은 Get Connection Info step 문서를 참조하십시오.
작업이 초기 API 요청을 보내기 전에 전처리 스크립트를 실행하려면 전처리 스크립트 사용을 선택합니다. 예를 들어 동작 입력을 확인하거나 기본값을 설정합니다. 이 옵션을 선택하면 데이터 스트림 동작에 스크립트 단계가 추가됩니다. 자세한 내용은 Script step 문서를 참조하십시오.
전처리는 첫 번째 API 요청 이전에 작업당 한 번씩 실행됩니다.
이는 인스턴스 또는 MID 서버에서 실행되는 선택적 데이터 스트림 작업 구성요소입니다.
요청
요청 범주를 사용하여 작업이 API 요청을 보내는 방법을 구성합니다. 요청 섹션은 결과 페이지당 한 번씩 실행됩니다. 요청 구성요소는 이러한 구성 옵션을 제공합니다.
- 페이지 매김 설정 단계
요청 결과를 일괄적으로 처리합니다. 데이터 페이지 한 개가 처리되면 데이터 스트림 작업이 요청 섹션을 다시 실행하여 다음 결과 세트를 반환합니다. 페이지 매김 설정 단계를 사용하여 API에 필요한 페이지 매김 옵션을 설정합니다. 페이지 매김 설정 단계를 수동으로 구성하거나 사전 구축된 템플릿을 선택하여 공통 구성을 적용합니다. 예를 들어 제한 / 오프셋 템플릿을 적용하여 페이지당 반환할 항목 수(제한)와 첫 번째 항목의 시작 번호(오프셋)를 지정합니다. 템플릿을 적용한 후 구성이 API의 요구 사항을 준수하도록 값을 업데이트하십시오.
주:라이선싱 목적상, 각 요청은 하나의 트랜잭션으로 계산되며, 여기에는 다음 결과 페이지에 대한 각 요청이 포함됩니다.예약된 읽기 전용
getNextPage변수의 값은 결과의 다른 페이지를 요청할지 여부를 결정합니다.getNextPage변수가 true이고 이전 페이지에 데이터가 포함되면 동작은 다음 페이지에 대한 요청을 계속 보냅니다.주:스크립트에서 값을 명시적으로 true로 설정해야 합니다. 그렇지 않으면 기본값은 false입니다.인스턴스에서만 실행되는 선택적 요청 구성요소입니다.주:JDBC 단계에는 페이지 매김이 적용되지 않습니다.- 스크립트 단계
결과의 다음 페이지에 대한 모든 요청 전에 스크립트를 실행합니다. 페이지 매김된 API를 호출할 때 데이터 유효성 검사 및 변환에 이 스크립트를 사용합니다. 예를 들어 다음 페이지 요청에 대한 JSON 페이로드를 생성합니다. 이 옵션을 선택하면 데이터 스트림 동작에 스크립트 단계가 추가됩니다. 자세한 내용은 Script step 문서를 참조하십시오.
이는 인스턴스 또는 MID 서버에서 실행되는 선택적 요청 구성 요소입니다.
- REST 또는 SOAP 단계
REST 또는 SOAP 요청을 외부 공급업체 API에 보냅니다. 데이터 형식을 선택하여 작업에 연결된 단계를 데이터 스트림 추가합니다. 자세한 내용은 REST 단계 및 SOAP 단계 문서를 참조하십시오.
이는 인스턴스 또는 에서 MID 서버실행되는 필수 요청 구성 요소입니다.
- JDBC 단계
JDBC 요청을 외부 공급업체 API로 보냅니다. 변환 스크립트를 사용하여 데이터 형식을 지정하고 관련 단계를 데이터 스트림 작업에 추가합니다. 자세한 내용은 JDBC 단계 및 JDBC 단계 테스트 문서를 참조하십시오. 모든 데이터가 검색되며 페이지 매김이 필요하지 않습니다.
에서 실행되는 MID 서버필수 요청 구성요소입니다.
REST 및 SOAP 단계에서 구문 분석
- REST 또는 SOAP 단계 응답 본문, 스트림 또는 오류 메시지 출력
- 스플리터 단계 출력
복잡한 데이터에 대한 자세한 내용은 복잡한 데이터를 참조하십시오. 구문 분석 구성요소는 이러한 구성 옵션을 제공합니다.
- 스플리터 단계
식별 응답 스트림의 상위 노드로, 복합 개체로 매핑할 수 있습니다. 예를 들어, XML 페이로드의 사용자 요소를 식별하여 응답 스트림에서 각 사용자에 대한 복합 객체를 생성합니다.
XML 또는 JSON 데이터 스트림에서 반복되는 항목을 식별하고 분리하려면 분할 유형을 선택합니다.
- JSON: JSON 데이터 스트림의 객체를 식별합니다. JSONPath 표현식을 사용하여 반복된 데이터를 포함하는 JSON 배열을 식별합니다.
- XML: XML 데이터 스트림에서 객체를 식별합니다. XPath 표현식을 사용하여 반복된 데이터를 포함하는 XML 요소를 식별합니다.
인스턴스에서만 실행되는 필수 구문 분석 구성요소입니다.
- 스크립트 파서 단계
사용 JavaScript 및 ServiceNow API. 예를 들어, 분할 단계에서 식별된 인시던트 기록 요소를 인시던트 필드가 포함된 복합 객체로 매핑합니다. 분할 단계에서 식별된, 복합 객체에 매핑하지 않을 항목의 형제가 데이터 스트림에 포함된 경우, 해당 항목을 제외하는 조건을 포함합니다. 필요할 때마다 스크립트 파서 단계의 스크립트 섹션에
outputs.state = 'SKIP'을 추가하여 스트림의 항목을 건너뛸 수 있습니다.인스턴스에서만 실행되는 필수 구문 분석 구성요소입니다.
JDBC 단계에서 스크립트 변환
JDBC 데이터 스트림 작업에는 페이지 매김이 필요하지 않습니다. 또한 분할 및 파서 단계가 필요하지 않습니다.
SOAP 및 REST 단계의 데이터 스트림 출력
작업을 디자인 데이터 스트림 할 때는 Object 또는 Dynamic Object 유형의 단일 출력을 만들어야 합니다. 스크립트 파서 단계는 targetObject 전역 객체를 사용하여 스트림의 항목을 이 객체에 매핑합니다.
런타임 시, 시스템은 구성에 따라 응답 데이터 스트림을 분할하고 구문 분석합니다 데이터 스트림 . 스트림의 각 항목은 스크립트 파서 단계 및 객체 출력에 의해 정의된 복합 객체 구조에 매핑되어, 일련의 복잡한 객체가 많이 생성됩니다. 복잡한 데이터에 대한 자세한 내용은 복잡한 데이터를 참조하십시오.
JDBC 단계의 데이터 스트림 출력
- 데이터를 검색할 수만 있으며 JDBC 데이터 스트림 작업을 사용하여 기록을 업데이트하거나 삭제할 수 없습니다.
- JDBC 단계에서 사용할 수 있는 필드, 최대 행 및 최대 페이로드 크기(KB) 는 JDBC 데이터 스트림 작업에서 사용할 수 없습니다.
REST 및 SOAP 단계의 실행 세부 정보
작업에서 처리한 데이터 스트림 각 항목에 대한 구성 및 런타임 결과를 봅니다. 구성 및 런타임 상세 정보를 보려면 기록 번호를 선택합니다. 기본적으로 실행 상세 정보에는 마지막 1,000개 항목에 대한 요청이 포함됩니다. 실행 상세 정보의 항목 수를 변경하려면 시스템 속성을 업데이트합니다 com.snc.process_flow.reporting.datastream.item.lastn .
- 데이터 스트림 요약
이 정보를 포함하는 실행에 대한 개요를 봅니다.
- 페이지 수: 페이지 매김된 API에서 반환되는 페이지 수입니다.
- 총 항목 수: 복합 객체 출력에 매핑된 응답 스트림의 항목 수입니다.
- 오류 수: 발생한 오류 수입니다.
- 페이지 상세 정보
작업 내의 데이터 스트림 각 단계에 대한 런타임 데이터를 봅니다. 페이지를 매김한 API에 대한 각 요청에 대한 런타임 상세 정보를 보려면 페이지를 선택합니다. 기본적으로 실행 세부 정보에는 마지막 5개 페이지에 대한 요청이 포함됩니다. 실행 상세 정보에서 요청 수를 변경하려면 시스템 속성을 업데이트합니다 com.snc.process_flow.page.reporting.lastn . 실행 상세 정보에서 페이지를 제거하려면 값을 0 으로 설정하고, 모든 페이지를 포함하려면 -1 로 설정합니다.
주:모든 페이지를 포함하면 성능에 영향을 줄 수 있으므로 권장하지 않습니다.
JDBC 단계의 실행 세부 정보
JDBC 데이터 스트림 작업에는 출력 복합 객체 스키마의 생성이 필요하지 않습니다. 쿼리를 테스트하고 쿼리 결과를 볼 수 있습니다. 자세한 내용은 JDBC 단계 테스트 문서를 참조하십시오. MID 서버 요구 사항에 따라 속성을 mid.jdbc.datastream.max.record.size 구성하고 mid.jdbc.datastream.fail.when.attachement.limit.exceeded 데이터를 검색합니다. 자세한 내용은 MID 서버 속성을 참조하십시오.