Azure Data Factory 또는 Synapse Analytics를 사용하여 ServiceNow에서 데이터 복사

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory 및 Synapse Analytics 파이프라인에서 복사 작업을 사용하여 ServiceNow에서 데이터를 복사하는 방법을 간략하게 설명합니다. 이 문서는 복사 작업에 대한 일반적인 개요를 제공하는 복사 작업 개요 문서를 기반으로 합니다.

지원되는 기능

이 ServiceNow 커넥터는 다음과 같은 기능에 지원됩니다.

지원되는 기능 IR
복사 작업(원본/-) ① ②
조회 작업 ① ②

① Azure 통합 런타임 ② 자체 호스팅 통합 런타임

원본/싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 표를 참조하세요.

이 서비스는 연결을 사용하도록 설정하는 기본 제공 드라이버를 제공합니다. 따라서 이 커넥터를 사용하기 위해 드라이버를 수동으로 설치할 필요가 없습니다.

시작하기

파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.

UI를 사용하여 ServiceNow에 연결된 서비스 만들기

다음 단계를 사용하여 Azure Portal UI에서 ServiceNow에 연결된 서비스를 만듭니다.

  1. Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.

  2. ServiceNow를 검색하고 ServiceNow 커넥터를 선택합니다.

    Select the ServiceNow connector.

  3. 서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.

    Configure a linked service to ServiceNow.

커넥터 구성 세부 정보

다음 섹션에서는 ServiceNow 커넥터에 한정된 Data Factory 엔터티를 정의하는 데 사용되는 속성에 대해 자세히 설명합니다.

연결된 서비스 속성

다음은 ServiceNow 연결된 서비스에 대해 지원되는 속성입니다.

속성 설명 필수
type type 속성은 ServiceNow로 설정해야 합니다.
endpoint ServiceNow 서버(http://<instance>.service-now.com)의 엔드포인트입니다.
authenticationType 사용할 인증 유형입니다.
허용되는 값은 Basic, OAuth2입니다.
사용자 이름 기본 및 OAuth2 인증을 위해 ServiceNow 서버에 연결하는 데 사용되는 사용자 이름입니다.
password 기본 및 OAuth2 인증의 사용자 이름에 해당하는 암호입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다.
clientId OAuth2 인증의 클라이언트 ID입니다. 아니요
clientSecret OAuth2 인증의 클라이언트 암호입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다. 아니요
useEncryptedEndpoints 데이터 원본 엔드포인트가 HTTPS를 사용하여 암호화되는지 여부를 지정합니다. 기본값은 true입니다. 아니요
useHostVerification TLS를 통해 연결할 때 서버 인증서의 호스트 이름을 서버의 호스트 이름과 일치시킬지 여부를 지정합니다. 기본값은 true입니다. 아니요
usePeerVerification TLS를 통해 연결할 때 서버의 ID를 확인할지 여부를 지정합니다. 기본값은 true입니다. 아니요

예제:

{
    "name": "ServiceNowLinkedService",
    "properties": {
        "type": "ServiceNow",
        "typeProperties": {
            "endpoint" : "http://<instance>.service-now.com",
            "authenticationType" : "Basic",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            }
        }
    }
}

데이터 세트 속성

데이터 세트 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 데이터 세트 문서를 참조하세요. 이 섹션에서는 ServiceNow 데이터 세트에서 지원하는 속성의 목록을 제공합니다.

ServiceNow에서 데이터를 복사하려면 데이터 세트의 type 속성을 ServiceNowObject로 설정합니다. 다음과 같은 속성이 지원됩니다.

속성 설명 필수
type 데이터 세트의 형식 속성을 ServiceNowObject로 설정해야 합니다.
tableName 테이블 이름입니다. 아니요(작업 원본에서 "query"가 지정된 경우)

예제

{
    "name": "ServiceNowDataset",
    "properties": {
        "type": "ServiceNowObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ServiceNow linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

복사 작업 속성

작업 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 파이프라인 문서를 참조하세요. 이 섹션에서는 ServiceNow 원본에서 지원하는 속성의 목록을 제공합니다.

ServiceNow 원본

ServiceNow에서 데이터를 복사하려면 복사 작업의 원본 형식을 ServiceNowSource로 설정합니다. 복사 작업 source 섹션에서 다음 속성이 지원됩니다.

속성 설명 필수
type 복사 작업 원본의 type 속성은 ServiceNowSource로 설정해야 합니다.
query 사용자 지정 SQL 쿼리를 사용하여 데이터를 읽습니다. 예: "SELECT * FROM Actual.alm_asset" 아니요(데이터 세트의 "tableName"이 지정된 경우)

쿼리에서 ServiceNow에 대해 스키마 및 열을 지정하는 경우 다음에 유의하고, 복사 성능에 미치는 영향에 대한 성능 팁을 참조하세요.

  • 스키마: ServiceNow 쿼리에는 ServiceNow REST API를 호출할 때 sysparm_display_value의 매개 변수를 true 또는 false로 볼 수 있는 Actual 또는 Display로 스키마를 지정합니다. 
  • 열:Actual 스키마의 실제 값에 대한 열 이름은 [column name]_value이며 Display 스키마의 표시 값에 대한 열 이름은 [column name]_display_value입니다. 열 이름은 쿼리에 사용되는 스키마에 매핑되어야 합니다.

샘플 쿼리:SELECT col_value FROM Actual.alm_asset 또는 SELECT col_display_value FROM Display.alm_asset

예제:

"activities":[
    {
        "name": "CopyFromServiceNow",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ServiceNow input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ServiceNowSource",
                "query": "SELECT * FROM Actual.alm_asset"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

성능 팁

사용할 스키마

ServiceNow에는 2개의 다른 스키마가 있습니다. 하나는 실제 데이터를 반환하는 "Actual"이고, 다른 하나는 데이터의 표시 값을 반환하는 "Display"입니다.

쿼리에 필터가 있는 경우 복사 성능이 더 좋은 "Actual" 스키마를 사용합니다. "Actual" 스키마에 대해 쿼리하는 경우 ServiceNow는 데이터를 인출하여 필터링된 결과 세트만 반환할 경우 기본적으로 필터를 지원하지만, "Display" 스키마에 대해 쿼리할 때는 ADF가 모든 데이터를 검색하고 내부적으로 필터를 적용합니다.

색인

ServiceNow 테이블 인덱스는 쿼리 성능 향상에 도움이 될 수 있습니다. 테이블 인덱스 만들기를 참조하세요.

조회 작업 속성

속성에 대한 자세한 내용을 보려면 조회 작업을 확인하세요.

복사 작업에서 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소를 참조하세요.