다음을 통해 공유


ServiceNow 데이터 처리 문제 해결

중요합니다

ServiceNow 커넥터는 공개 미리 보기로 제공됩니다.

이 페이지에서는 Databricks Lakeflow Connect의 ServiceNow 커넥터와 관련된 일반적인 문제 및 해결 방법을 설명합니다.

일반 파이프라인 문제 해결

실행하는 동안 파이프라인이 실패하는 경우 실패한 단계를 클릭하고 오류 메시지가 오류의 특성에 대한 충분한 정보를 제공하는지 확인합니다.

UI에서 파이프라인 이벤트 로그 보기

오른쪽 패널에서 업데이트 세부 정보를 클릭한 다음 로그를 클릭하여 파이프라인 세부 정보 페이지에서 클러스터 로그를 확인하고 다운로드할 수도 있습니다. 로그에서 오류 또는 예외를 검색합니다.

UI에서 파이프라인 업데이트 세부 정보 보기

특정 테이블의 데이터 수집 속도가 느림

첫 번째 단계로 ServiceNow 관리자와 협력하여 커서 열에서 인덱싱을 사용하도록 설정합니다. 커서 열은 sys_updated_on(첫 번째 선택), sys_created_on(두 번째 선택), sys_archived(세 번째 선택)의 기본 설정 순서대로 목록에서 선택됩니다. 수집 파이프라인을 재시도하십시오. 문제가 지속되면 티켓을 제출하세요. ServiceNow에서 인덱싱을 사용하도록 설정하는 방법에 대한 지침은 ServiceNow 설명서를 참조하세요.

인증 오류

오류:

com.databricks.pipelines.execution.conduit.common.DataConnectorException: [SERVICENOW_CONNECTION_ERROR.OAUTH_TOKEN_EXCHANGE] Failed to authenticate to ServiceNow. This can be caused by issues with your UC credentials, ServiceNow OAuth setup, and more...

1단계:

Unity 카탈로그 연결을 만들 때 올바른 사용자 이름, 암호, 클라이언트 ID 및 클라이언트 암호를 제공했는지 확인합니다. ServiceNow 인증을 위한 사용자 이름 및 암호가 반드시 SSO의 개인 사용자 이름 및 암호는 아닙니다. 이는 외부 서비스와의 인증 및 수집을 위한 사용자와 연결된 사용자 이름 및 암호 값입니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역의 사이드바에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창 위쪽에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 메뉴에서 연결을 선택합니다.

    또는 빠른 액세스 페이지에서 외부 데이터 > 단추를 클릭하고 연결 탭으로 이동합니다.

  3. 연결의 이름을 클릭합니다.

    연결 세부 정보는 개요 탭에 나열됩니다.

다음 curl 요청을 실행합니다. 대괄호 안에 있는 항목을 연결 속성으로 바꿉니다.

curl -X POST "https://<instance-id>.service-now.com/oauth_token.do" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=password" \
--data-urlencode "client_id=<client-id>" \
--data-urlencode "client_secret=<client-secret>" \
--data-urlencode "username=<username>" \
--data-urlencode "password=<password>"

요청이 성공하면(응답에서 액세스 토큰, 새로 고침 토큰 및 범위를 수신함) 자격 증명이 올바릅니다. 다음 문제 해결 단계를 진행합니다.

요청이 실패하면 다음 오류 메시지가 반환됩니다.

{"error_description":"access_denied","error":"server_error"}

2단계:

인증 사용자가 admin 역할을 가지고 있는지 확인합니다. Databricks는 또한 인증 사용자가 권한을 추가로 제한하기 위해 snc_read_only 역할을 갖도록 권장합니다.

3단계:

인증 사용자가 활성으로 표시되어 있는지 확인합니다.

  1. ServiceNow에서 조직 > 사용자를 클릭합니다.

  2. 인증에 사용할 사용자를 선택합니다.

  3. 활성 확인란이 선택되어 있는지 확인합니다.

    ServiceNow 활성 사용자

4단계:

ServiceNow의 OAuth 2.0 플러그 인이 활성 상태인지 확인합니다.

  1. ServiceNow에서 시스템 정의 > 플러그 인을 클릭합니다.

  2. 스크립트 - 백그라운드 섹션에서 다음 스크립트를 실행합니다.

    var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active');
    gs.info('OAuth Active: ' + oauthActive);
    

    스크립트가 반환 true되면 플러그 인 설치에 성공했습니다. 이 스크립트가 false를 반환하면 제거한 다음 다시 설치하십시오.

    ServiceNow OAuth 2.0 플러그 인

5단계:

OAuth 엔드포인트가 올바르게 구성되었는지 확인합니다.

  1. ServiceNow에서 System OAuth > 애플리케이션 레지스트리를 방문합니다.

  2. 오른쪽 위 모서리에서 새로 만들기를 클릭합니다.

  3. OAuth 애플리케이션 옵션에서 외부 클라이언트에 대한 OAuth API 엔드포인트 만들기를 클릭합니다.

    ServiceNow 외부 클라이언트에 대한 OAuth API 엔드포인트 만들기

  4. 활성 확인란이 선택되어 있는지 확인합니다.

    ServiceNow 새 OAuth 애플리케이션

    OAuth 애플리케이션을 성공적으로 만든 후에는 > 형식의 System OAuth 애플리케이션 레지스트리 목록에 표시됩니다.

6단계:

이러한 문제 해결 단계를 수행한 후에도 문제가 지속되면 지원 티켓을 제출합니다.