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:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- The Python SDK
- Azure PowerShell
- The REST API
- Modello di Azure Resource Manager
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.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:
Cercare ServiceNow e selezionare il connettore ServiceNow.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
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. | Sì |
endpoint | Endpoint del server ServiceNow (http://<instance>.service-now.com ). |
Sì |
authenticationType | Tipo di autenticazione da usare. I valori consentiti sono Basic, OAuth2 |
Sì |
username | Nome utente usato per la connessione al server di ServiceNow per l'autenticazione di base e OAuth2. | Sì |
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. | Sì |
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 | Sì |
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 | Sì |
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
oDisplay
nella query ServiceNow, che è possibile esaminarlo come parametro disysparm_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 schemaDisplay
è[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.
Contenuto correlato
Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere archivi dati supportati.