Copiare dati da ServiceNow usando Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo illustra come usare l'attività di copia nelle pipeline di Azure Data Factory e Synapse Analytics per copiare dati da ServiceNow. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.

Funzionalità supportate

Questo connettore ServiceNow è supportato per le funzionalità seguenti:

Funzionalità supportate IR
attività Copy (source/-) ① ②
Attività Lookup ① ②

(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted

Per un elenco degli archivi dati supportati come origini/sink, vedere la tabella Archivi dati supportati.

Il servizio fornisce un driver predefinito per abilitare la connettività. Non è quindi necessario installare manualmente alcun driver usando questo connettore.

Introduzione

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato a ServiceNow usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a ServiceNow nell'interfaccia utente di portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare ServiceNow e selezionare il connettore ServiceNow.

    Select the ServiceNow connector.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Configure a linked service to ServiceNow.

Dettagli di configurazione di Connessione or

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di Data Factory specifiche per il connettore ServiceNow.

Proprietà del servizio collegato

Per il servizio collegato ServiceNow sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type deve essere impostata su ServiceNow.
endpoint Endpoint del server ServiceNow (http://<instance>.service-now.com).
authenticationType Tipo di autenticazione da usare.
I valori consentiti sono Basic, OAuth2
username Nome utente usato per la connessione al server di ServiceNow per l'autenticazione di base e OAuth2.
password Password corrispondente al nome utente per l'autenticazione di base e OAuth2. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault.
clientId ID client per l'autenticazione OAuth2. No
clientSecret Segreto client per l'autenticazione OAuth2. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault. No
useEncryptedEndpoints Specifica se gli endpoint dell'origine dati vengono crittografati tramite HTTPS. Il valore predefinito è true. No
useHostVerification Specifica se richiedere che il nome host nel certificato del server corrisponda al nome host del server durante la connessione tramite TLS. Il valore predefinito è true. No
usePeerVerification Specifica se verificare l'identità del server durante la connessione tramite TLS. Il valore predefinito è true. No

Esempio:

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

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati. Questa sezione presenta un elenco delle proprietà supportate dal set di dati di ServiceNow.

Per copiare dati da ServiceNow, impostare la proprietà type del set di dati su ServiceNowObject. Sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type del set di dati deve essere impostata su: ServiceNowObject
tableName Nome della tabella. No (se nell'origine dell'attività è specificato "query")

Esempio

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

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine ServiceNow.

ServiceNow come origine

Per copiare dati da ServiceNow, impostare il tipo di origine nell'attività di copia su ServiceNowSource. Nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su ServiceNowSource
query Usare la query SQL personalizzata per leggere i dati. Ad esempio: "SELECT * FROM Actual.alm_asset". No (se nel set di dati è specificato "tableName")

Tenere presente quanto segue quando si specifica lo schema e la colonna per ServiceNow nella query, e fare riferimento ai suggerimenti sulle prestazioni per le implicazioni della copia per le prestazioni.

  • Schema: specificare lo schema come Actual o Display nella query ServiceNow, che è possibile esaminarlo come parametro di sysparm_display_value come true o false quando si chiamano le API REST di ServiceNow. 
  • Colonna: il nome di colonna per il valore effettivo nello schema Actual è [column name]_value, mentre il valore visualizzato nello schema Display è [column name]_display_value. Si noti il nome della colonna deve essere mappato allo schema usato nella query.

Query di esempio:SELECT col_value FROM Actual.alm_asset O SELECT col_display_value FROM Display.alm_asset

Esempio:

"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>"
            }
        }
    }
]

Suggerimenti per le prestazioni

Schema da usare

ServiceNow ha 2 schemi diversi, ovvero "Actual", che restituisce i dati effettivi, e "Display" che restituisce i valori visualizzati dei dati.

Se la query include un filtro, usare lo schema "Actual" che offre prestazioni di copia migliori. Quando si eseguono query sullo schema "Actual", ServiceNow supporta in modo nativo un filtro durante il recupero di dati per restituire solo il set di risultati filtrato, mentre quando si esegue una query sullo schema "Display", Azure Data Factory recupera tutti i dati e applica il filtro internamente.

Indice

L'indice di tabella di ServiceNow può essere utile per migliorare le prestazioni delle query. Vedere Create a table index (Creare un indice di tabella).

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere archivi dati supportati.