사용자를 가져오기 위한 데이터 스트림 작업 만들기

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 8분
  • SaaS 애플리케이션에서 사용자 구독 목록을 가져오는 데이터 스트림 작업을 만듭니다.

    시작하기 전에

    기존 ServiceNow® Integration Hub 스포크를 사용하는 경우 사용자 목록을 만드는 대신 사용할 수 있는 사용자 목록을 가져오는 데이터 스트림 작업이 있는지 확인합니다.

    데이터 스트림 작업에 대한 자세한 내용은 데이터 스트림 작업을 참조하십시오.

    필요한 역할: flow_designer 또는 admin

    프로시저

    1. 다음으로 이동 모두 > 플로우 디자이너 > 디자이너.
    2. 새로 만들기를 클릭한 다음 데이터 스트림을 선택합니다.
    3. 양식의 필드에 내용을 입력합니다.
      표 1. 작업 속성 양식
      필드
      이름 선택한 이름입니다. 예를 들어 사용자를 가져옵니다.
      다음에서 접근 가능 모든 애플리케이션 범위입니다.
      범주 이 필드를 비워 둡니다.
      보호 없음.
      애플리케이션 SaaS 애플리케이션과 통합할 스포크 앱입니다. 이 스포크 앱은 기존 Integration Hub 스포크이거나 사용자가 생성한 새 스포크일 수 있습니다.
      플로우 내 주석 이 필드를 비워 둡니다.
      설명 선택에 대한 설명입니다.
    4. 제출을 클릭합니다.
    5. 작업 중인 API에서 요청에 대한 사용자 인증이 필요한 경우 작업 개요에서 입력 을 클릭하고 인증을 위한 입력을 추가합니다.
      일반적인 사용자 인증 입력의 예로는 관리자 사용자 ID 및 사이트 이름이 있습니다. 선택한 API에 대한 설명서를 참조하여 특정 사례의 사용자 인증 요구 사항에 대해 알아봅니다. API에 액세스 토큰이 필요한 경우 나중에 자격 증명 값 변수가 자동으로 생성됩니다. 액세스 토큰을 입력으로 추가할 필요가 없습니다.

      하위 플로우에서 완료된 데이터 스트림 작업을 사용할 때 이러한 입력으로 전달할 값을 정의합니다.

    6. 작업 개요에서 요청을 클릭합니다.
    7. 양식의 필드에 내용을 입력합니다.
      표 2. 요청 양식
      필드
      데이터를 가져오는 방법 REST 단계 또는 SOAP 단계를 선택합니다. 선택은 통합하는 SaaS 애플리케이션의 API에 따라 달라집니다.
      페이지 매김 사용 선택됨.
      각 요청 전에 스크립트 실행 선택되지 않았습니다.
    8. 작업 개요에서 페이지 매김 설정 단계를 클릭합니다.
    9. SaaS API에서 사용하는 쿼리 매개변수를 기반으로 페이지 매김 변수를 정의합니다.

      오프셋 기반 페이지 매김을 사용하는 경우 제한/오프셋 페이지 매김 템플릿을 사용하여 페이지 매김 구성을 미리 로드합니다.

      주:
      예약된 getNextPage 변수의 값은 다른 결과 페이지를 요청할지 여부를 결정합니다. getNextPage 변수가 true인 한, 작업은 다음 페이지에 대한 요청을 계속 보냅니다.
    10. 페이지 매김 변수 스크립트를 작성하여 페이지 매김 변수를 업데이트합니다.

      스크립트는 각 요청에 대해 실행됩니다. 페이지 매김 템플릿을 사용하는 경우 필요에 따라 미리 로드된 스크립트를 조정합니다.

      다음 이미지는 페이지 매김 설정 단계의 완료된 예를 보여줍니다. 이 예제는 구독 다운로드 하위 플로우에 사용되는 사용자 가져오기 데이터 스트림 작업에서 Webex 가져온 것입니다.

      페이지 매김 설정 단계
      주:
      페이지 매김 변수는 문자열 데이터 유형만 지원합니다. 수학 연산을 수행하려면 값을 정수로 변환하고, 필요한 조작을 수행한 후 다시 문자열로 변환해야 합니다.
    11. 데이터를 가져오는 방법에 대해 선택한 옵션에 따라 작업 개요에서 SOAP 단계 또는 REST 단계를 클릭합니다.
    12. SOAP 단계를 선택한 경우 표시된 대로 양식을 채웁니다.
      표 3. SOAP 단계 양식
      필드
      연결 상세 정보
      연결 연결 별칭을 사용합니다.
      연결 별칭 통합 프로파일을 생성할 때 생성한 연결 별칭입니다. 아직 통합 프로파일을 생성하지 않은 경우 단계에 따라 연결 별칭을 사용하여 사용자 지정 통합 프로파일을 생성합니다.
      엔드포인트 연결 별칭을 선택하면 이 값이 자동으로 채워집니다. 별칭에 연결된 HTTP 연결 기록의 연결 URL로 설정됩니다.
      요청 상세 정보
      빌드 봉투 수동으로.
      SOAP 동작 모든 사용자 목록을 가져오는 API 요청입니다. 선택한 API에 대한 설명서를 참조하여 적절한 요청을 선택합니다.
      SOAP 봉투 모든 사용자 목록을 가져오는 XML 요청 메시지입니다. XML 요청 메시지를 작성하는 방법을 알아보려면 선택한 API에 대한 설명서를 참조하십시오. 일반적으로 헤더에는 사용자 인증을 위한 입력 변수와 자격 증명 값 변수가 액세스 토큰으로 있어야 합니다. 본문에는 페이지 매김 설정 단계에서 모든 사용자 및 변수 목록을 가져오는 요청이 포함되어야 합니다.
      주:
      SOAP 봉투의 예는 구독 다운로드 하위 플로우에서 Webex 사용되는 사용자 가져오기 데이터 스트림 작업을 참조하십시오.
    13. REST 단계를 선택한 경우 표시된 대로 양식을 채웁니다.
      표 4. REST 단계 양식
      필드
      연결 상세 정보
      연결 연결 별칭을 사용합니다.
      연결 별칭 통합 프로파일을 생성할 때 생성한 연결 별칭입니다. 아직 통합 프로파일을 생성하지 않은 경우 단계에 따라 연결 별칭을 사용하여 사용자 지정 통합 프로파일을 생성합니다.
      기본 URL 연결 별칭을 선택하면 이 값이 자동으로 채워집니다. 별칭에 연결된 HTTP 연결 기록의 연결 URL로 설정됩니다.
      요청 상세 정보
      빌드 요청 수동으로.
      리소스 경로 자원의 경로입니다. 이 값은 기본 URL에 추가됩니다. 리소스 경로를 구성하는 방법을 알아보려면 작업 중인 API에 대한 설명서를 참조하세요.
      HTTP 메서드 게트.
      쿼리 매개 변수 페이지 매김에 대한 매개변수를 추가합니다. 페이지 매김 설정 단계에서 생성한 변수로 값을 설정합니다.

      다음 이미지는 REST 단계의 완료된 예를 보여줍니다. 이 예제는 구독 다운로드 하위 플로우에 사용되는 사용자 가져오기 Jira 데이터 스트림 작업에서 Jira 가져온 것입니다.

      REST 단계
    14. 작업 개요에서 구문 분석을 클릭합니다.
    15. 양식의 필드에 내용을 입력합니다.
      표 5. 구문 분석 양식
      필드
      각 기록을 식별하는 방법 JSON/XML 스플리터
      각 항목을 하나의 객체로 구문 분석하는 방법 스크립트 파서
    16. 작업 개요에서 스플리터 단계를 클릭합니다.
    17. 양식의 필드에 내용을 입력합니다.
      표 6. 스플리터 단계
      필드
      소스 형식 API 응답에서 반환되는 형식에 따라 XML 또는 JSON을 선택합니다.
      항목 경로 응답 메시지의 사용자 요소에 대한 절대 경로입니다. 응답 메시지의 형식에 대한 자세한 내용은 작업 중인 API의 설명서를 참조하세요.
      • XML 항목 경로 예: /message/body/user
      • JSON 항목 경로 예: $.data.user
    18. 작업 개요에서 출력을 클릭합니다.
    19. Create Output(출력 생성)을 클릭하고 표시된 대로 변수를 편집합니다.
      표 7. 작업 출력
      레이블 이름 유형 필수
      targetObject targetObject 객체 아니요
    20. 응답 메시지에 반환된 사용자 자식 요소를 기반으로 targetObject 에 대한 자식 항목을 추가합니다.
      예를 들어 XML 응답은 다음과 같을 수 있습니다.
      <message>​
        <body>​
          <user>
            <userID>​12345</userID>​
            ​<email>​email@email.com</email>​
            <firstName>​Jane</firstName>​
            <lastName>​Doe</lastName>​
            <lastLoginTime>​08/13/2019 20:08:16</lastLoginTime>​
            <active>​TRUE</active>​
          </user>​
          <user>
            ...
          </user>
        </body>​
      </message>
      이 응답의 경우 표시된 대로 하위 항목을 추가합니다.
      표 8. targetObject의 하위 항목
      레이블 이름 유형 필수
      userID userID 문자열 아니요
      email email 문자열 아니요
      이름 이름 문자열 아니요
      lastName(성) lastName(성) 문자열 아니요
      마지막 로그인 시간 마지막 로그인 시간 문자열 아니요
      active active true/false 아니요
    21. 동작 개요에서 스크립트 파서 단계를 클릭합니다.
    22. 응답의 각 사용자 요소에 대해 targetObject 출력 개체를 만든 다음 각 사용자 자식 요소를 targetObject 자식 항목에 매핑합니다.

      파서 스크립트는 각 사용자 요소에 대해 실행됩니다.

      주:
      다음 예제에서는 일반적으로 사용자 가져오기 요청에 대한 응답에 포함된 요소 형식을 보여 줍니다. 이러한 스크립트를 직접 복사하지 마십시오. 작업 중인 API에 대한 설명서에 있는 요소 이름을 사용합니다.
      XML 응답을 구문 분석하는 예시 스크립트입니다.
      (function parse(inputs, outputs) {
          var xmlDoc = new XMLDocument(inputs.sourceItem, false);
          outputs.targetObject.userID = xmlDoc.getNodeText('/user/userID');
          outputs.targetObject.email = xmlDoc.getNodeText('/user/email');
          outputs.targetObject.firstName = xmlDoc.getNodeText('/user/firstName');
          outputs.targetObject.lastName = xmlDoc.getNodeText('/user/lastName');
          outputs.targetObject.lastLoginTime = xmlDoc.getNodeText('/user/lastLoginTime');
          outputs.targetObject.active = xmlDoc.getNodeText('/user/active');
      })(inputs, outputs)
      JSON 응답을 구문 분석하는 예시 스크립트입니다.
      (function parse(inputs, outputs) {
          var record = JSON.parse(inputs.sourceItem);
          outputs.targetObject.userID = record.userID;
          outputs.targetObject.email = record.email;
          outputs.targetObject.firstName = record.firstName;
          outputs.targetObject.lastName = record.lastName;
          outputs.targetObject.lastLoginTime = record.lastLoginTime;
          outputs.targetObject.active = record.active;
      })(inputs, outputs)
    23. 데이터 스트림 작업을 테스트하려면 테스트를 클릭합니다.
      1. 오류에 대한 자세한 내용은 테스트 결과 및 시스템 로그를 참조하십시오.
        시스템 로그를 보려면 다음으로 이동합니다. 시스템 로그 > 시스템 로그 > 모두.
      2. 데이터 스트림 작업에 오류가 있는 경우 올바른 엔드포인트를 사용하고 있는지, API 요청 및 응답이 예상대로 구성되어 있는지 확인합니다.
    24. 데이터 스트림 작업이 예상대로 작동하는지 확인한 후 게시를 클릭합니다.