Copiare dati da ServiceNow usando Azure Data Factory

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da e in 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 attività seguenti:

È possibile copiare dati da ServiceNow a qualsiasi archivio dati di sink supportato. Per un elenco degli archivi dati supportati come origini/sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.

Azure Data Factory offre un driver predefinito per consentire la connettività, pertanto non è necessario installare manualmente alcun driver usando questo connettore.

Guida introduttiva

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

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 Obbligatoria
type 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 in Azure Data Factory oppure 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 in Azure Data Factory oppure 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 Obbligatoria
type 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 Obbligatoria
type 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 individuare come parametro di sysparm_display_value come true o false quando si chiamano le API RESTful 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 OSELECT 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 incrementare 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.

Passaggi successivi

Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia in Azure Data Factory, vedere gli archivi dati supportati.