Carica i dati di ServiceNow in BigQuery
Puoi caricare i dati da ServiceNow a BigQuery utilizzando il connettore BigQuery Data Transfer Service per ServiceNow. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i dati più recenti da ServiceNow a BigQuery.
Limitazioni
I trasferimenti di dati ServiceNow sono soggetti alle seguenti limitazioni:
- Il connettore ServiceNow supporta solo l'API ServiceNow Table.
- Non è consigliabile eseguire trasferimenti di dati simultanei sulla stessa istanza ServiceNow. Ciò può causare ritardi o errori dovuti al carico sull'istanza ServiceNow.
- Ti consigliamo di distanziare gli orari di inizio dei trasferimenti per evitare che le esecuzioni si sovrappongano.
- Per migliorare le prestazioni del trasferimento dei dati, ti consigliamo di limitare il numero di asset a 20 elementi per trasferimento.
- L'intervallo di tempo minimo tra i trasferimenti di dati ricorrenti è di 15 minuti. L'intervallo predefinito per un trasferimento ricorrente è di 24 ore.
- Una singola configurazione di trasferimento può supportare una sola esecuzione di trasferimento dei dati in un determinato momento. Nel caso in cui sia pianificata l'esecuzione di un secondo trasferimento di dati prima del completamento del primo, viene completato solo il primo trasferimento di dati, mentre vengono ignorati tutti gli altri trasferimenti di dati che si sovrappongono al primo.
- Per evitare trasferimenti saltati all'interno di una singola configurazione del trasferimento, ti consigliamo di aumentare la durata del tempo tra i trasferimenti di dati di grandi dimensioni configurando la Frequenza di ripetizione.
- Per utilizzare un collegamento di rete con questo trasferimento di dati, devi prima creare un collegamento di rete definendo un indirizzo IP statico.
Limitazioni del trasferimento incrementale
I trasferimenti incrementali da ServiceNow sono soggetti alle seguenti limitazioni:- Puoi scegliere solo
DATETIMEcolonne come colonne filigrana. - L'importazione incrementale è supportata solo per gli asset con colonne di watermark valide.
- I valori in una colonna di watermark devono essere in ordine crescente.
- I trasferimenti incrementali non possono sincronizzare le operazioni di eliminazione nella tabella di origine.
- Una singola configurazione del trasferimento può supportare solo l'acquisizione incrementale o completa.
- Non puoi aggiornare gli oggetti nell'elenco
assetdopo la prima esecuzione dell'importazione incrementale. - Non puoi modificare la modalità di scrittura in una configurazione di trasferimento dopo la prima esecuzione dell'importazione incrementale.
- Non puoi modificare la colonna della filigrana o la chiave primaria dopo la prima esecuzione dell'importazione incrementale.
- La tabella BigQuery di destinazione è raggruppata in cluster utilizzando la chiave primaria fornita ed è soggetta alle limitazioni delle tabelle in cluster.
- Quando aggiorni una configurazione del trasferimento esistente alla modalità di importazione incrementale per la prima volta, il primo trasferimento di dati dopo l'aggiornamento trasferisce tutti i dati disponibili dall'origine dati. Tutti i trasferimenti di dati incrementali successivi trasferiranno solo le righe nuove e aggiornate dall'origine dati.
Opzioni di acquisizione dei dati
Queste sezioni descrivono le opzioni di importazione dati per configurare un trasferimento di dati ServiceNow.
Trasferimenti completi o incrementali
Puoi specificare come caricare i dati in BigQuery selezionando la preferenza di scrittura Completa o Incrementale nella configurazione del trasferimento quando configuri un trasferimento ServiceNow.
Puoi configurare un trasferimento dei dati completo per trasferire tutti i dati dai tuoi set di dati ServiceNow a ogni trasferimento dei dati.In alternativa, puoi configurare un trasferimento dei dati incrementale per trasferire solo i dati modificati dall'ultimo trasferimento, anziché caricare l'intero set di dati a ogni trasferimento. Se selezioni Incrementale per il trasferimento dei dati, devi specificare le modalità di scrittura Aggiungi o Esegui upsert per definire la modalità di scrittura dei dati in BigQuery durante un trasferimento incrementale dei dati. Le sezioni seguenti descrivono le modalità di scrittura disponibili.
Modalità di scrittura upsert
La modalità di scrittura upsert aggiorna una riga o ne inserisce una nuova nella tabella di destinazione controllando una chiave primaria. Puoi specificare una chiave primaria per consentire al connettore ServiceNow di determinare le modifiche necessarie per mantenere la tabella di destinazione aggiornata con la tabella di origine. Se la chiave primaria specificata è presente nella tabella BigQuery di destinazione durante un trasferimento di dati, il connettore ServiceNow aggiorna la riga con i nuovi dati della tabella di origine. Se una chiave primaria non è presente durante un trasferimento di dati, il connettore ServiceNow inserisce una nuova riga.
Quando selezioni la modalità di upsert, devi selezionare una colonna watermark e una chiave primaria:
Per consentire al connettore ServiceNow di monitorare le modifiche nella tabella di origine, è necessaria una colonna filigrana.
Seleziona una colonna di watermark che si aggiorna ogni volta che viene modificata una riga. Ti consigliamo colonne simili alla colonna
UPDATED_AToLAST_MODIFIED.
La chiave primaria può essere una o più colonne della tabella necessarie al connettore ServiceNow per determinare se deve inserire o aggiornare una riga.
Seleziona le colonne che contengono valori non nulli univoci in tutte le righe della tabella. Ti consigliamo di utilizzare colonne che includono identificatori generati dal sistema, codici di riferimento univoci (ad esempio ID con incremento automatico) o ID di sequenza immutabili basati sul tempo.
Per evitare potenziali perdite o danneggiamenti di dati, le colonne della chiave primaria che selezioni devono avere valori univoci. Se hai dubbi sull'unicità della colonna della chiave primaria scelta, ti consigliamo di utilizzare l'importazione completa.
Comportamento di importazione incrementale
Quando apporti modifiche allo schema della tabella nell'origine dati, i trasferimenti di dati incrementali da queste tabelle vengono applicati in BigQuery nei seguenti modi:
| Modifiche all'origine dati | Comportamento di importazione incrementale |
|---|---|
| Aggiunta di una nuova colonna | Viene aggiunta una nuova colonna alla tabella BigQuery di destinazione. Tutti i record precedenti per questa colonna avranno valori null. |
| Eliminazione di una colonna | La colonna eliminata rimane nella tabella BigQuery di destinazione. Le nuove voci di questa colonna eliminata vengono popolate con valori null. |
| Modificare il tipo di dati in una colonna | Il connettore supporta solo le
conversioni dei tipi di dati supportate dall'istruzione DDL ALTER COLUMN.
Qualsiasi altra conversione del tipo di dati causa l'errore del trasferimento dei dati.
Se riscontri problemi, ti consigliamo di creare una nuova configurazione di trasferimento. |
| Rinominare una colonna | La colonna originale rimane invariata nella tabella BigQuery di destinazione, mentre alla tabella di destinazione viene aggiunta una nuova colonna con il nome aggiornato. |
Prima di iniziare
Prima di creare un trasferimento di dati ServiceNow, segui questi passaggi per ServiceNow e BigQuery.
Prerequisiti di ServiceNow
- Per accedere alle API ServiceNow, crea le credenziali OAuth.
Tutte le seguenti applicazioni ServiceNow devono essere abilitate nell'istanza ServiceNow:
Per avviare un trasferimento ServiceNow, devi disporre delle credenziali corrette per connetterti all'istanza ServiceNow.
- Per ottenere le credenziali per un'istanza per sviluppatori ServiceNow, accedi al portale per sviluppatori ServiceNow. Puoi utilizzare il nome utente e la password elencati nella pagina Gestisci password istanza. Per informazioni sul ripristino della password di ServiceNow, vedi Reimpostazione della password
- Per ottenere le credenziali per un'istanza di produzione o sub-produzione di ServiceNow, contatta l'amministratore clienti ServiceNow per richiedere il nome utente e la password.
Prerequisiti di BigQuery
- Completa tutte le azioni richieste per attivare BigQuery Data Transfer Service.
- Crea un set di dati BigQuery per archiviare i dati.
- Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub, assicurati di disporre dell'autorizzazione Identity and Access Management (IAM)
pubsub.topics.setIamPolicy. Se hai configurato solo le notifiche via email, non sono necessarie le autorizzazioni Pub/Sub. Per maggiori informazioni, vedi Notifiche di esecuzione di BigQuery Data Transfer Service.
Ruoli BigQuery richiesti
Per ottenere le autorizzazioni necessarie per creare un trasferimento di dati di BigQuery Data Transfer Service, chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin) sul tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un trasferimento di dati BigQuery Data Transfer Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un trasferimento di dati di BigQuery Data Transfer Service, sono necessarie le seguenti autorizzazioni:
-
Autorizzazioni di BigQuery Data Transfer Service:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
Autorizzazioni BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per saperne di più, consulta Concedi l'accesso a bigquery.admin.
Configura un trasferimento di dati ServiceNow
Aggiungi i dati di ServiceNow a BigQuery configurando una configurazione del trasferimento utilizzando una delle seguenti opzioni:
Console
Vai alla pagina Trasferimenti di dati nella console Google Cloud .
Fai clic su Crea trasferimento.
Nella sezione Tipo di origine, per Origine, seleziona ServiceNow.
Nella sezione Dettagli origine dati, segui questi passaggi:
- (Facoltativo) Per Collegamento di rete, seleziona un collegamento di rete dal menu a discesa o fai clic su Crea collegamento di rete.
- Seleziona un collegamento di rete per configurare questo trasferimento di dati in modo che utilizzi un indirizzo IP singolo e coerente. Puoi utilizzare questa opzione se la tua istanza ServiceNow è configurata per accettare solo il traffico proveniente da indirizzi IP specifici.
- Per maggiori informazioni sulla creazione di un collegamento di rete, consulta Configura le connessioni con i collegamenti di rete.
- Per saperne di più sulla definizione degli indirizzi IP in ServiceNow, vedi Definisci gli indirizzi IP interni ServiceNow consentiti.
- Per ID istanza, inserisci l'ID istanza ServiceNow.
Puoi trovarlo nell'URL di ServiceNow, ad esempio
https://INSTANCE_ID.service-now.com. - (Facoltativo) Per Tipo di cloud ServiceNow, seleziona il tipo di cloud per
il tuo account ServiceNow:
- Seleziona Commerciale se l'URL della tua istanza ServiceNow
segue il pattern
https://INSTANCE_ID.service-now.com. Questo è il valore predefinito. - Seleziona Government Community Cloud (GCC) se
l'URL della tua istanza ServiceNow segue il pattern
https://INSTANCE_ID.servicenowservices.com.
- Seleziona Commerciale se l'URL della tua istanza ServiceNow
segue il pattern
- Per Nome utente, inserisci il nome utente ServiceNow da utilizzare per la connessione.
- Per Password, inserisci la password di ServiceNow.
- Per ID client, inserisci l'ID client delle tue credenziali OAuth. Per generare le credenziali, vedi Crea le credenziali OAuth.
- Per Client secret, inserisci il client secret dalle tue credenziali OAuth.
- Per Attiva mappatura legacy, seleziona true (impostazione predefinita) per utilizzare la mappatura dei tipi di dati legacy. Seleziona false per utilizzare la mappatura aggiornata dei tipi di dati. Per saperne di più sugli aggiornamenti della mappatura dei tipi di dati, vedi 16 marzo 2027.
- Per Tipo di importazione, seleziona Completa o Incrementale.
- Se selezioni Incrementale, per Modalità di scrittura, seleziona Esegui upsert. Per saperne di più sulle modalità di scrittura, consulta Trasferimenti completi o incrementali.
- In Tabelle ServiceNow da trasferire, fai clic su Sfoglia:
- Seleziona gli oggetti da trasferire al set di dati di destinazione BigQuery. In questo campo puoi anche inserire manualmente gli oggetti da includere nel trasferimento di dati.
- Se hai selezionato Esegui upsert come modalità di scrittura incrementale, devi selezionare una colonna come colonna watermark, e poi una o più colonne come chiave primaria.
- Per Tipo di valore, scegli una delle seguenti opzioni:
- Per trasferire i valori memorizzati nel database, scegli Effettivo.
- Per trasferire i valori di visualizzazione delle colonne, scegli Visualizza.
- (Facoltativo) Per Collegamento di rete, seleziona un collegamento di rete dal menu a discesa o fai clic su Crea collegamento di rete.
Nella sezione Impostazioni destinazione, per Set di dati, seleziona il set di dati che hai creato per archiviare i dati.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento di dati.
Nella sezione Opzioni di pianificazione, segui questi passaggi:
- Nell'elenco Frequenza di ripetizione, seleziona un'opzione per specificare la frequenza con cui viene eseguito questo trasferimento di dati. Per specificare una frequenza di ripetizione personalizzata, seleziona Personalizzata. Se selezioni On demand, questo trasferimento di dati viene eseguito quando attivi manualmente il trasferimento.
- Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.
(Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:
- Per attivare le notifiche via email, fai clic sul pulsante di attivazione/disattivazione Notifica email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- Per attivare le notifiche di esecuzione del trasferimento Pub/Sub per questo trasferimento di dati, fai clic sul pulsante di attivazione/disattivazione Notifiche Pub/Sub. Puoi selezionare il nome del tuo argomento oppure fare clic su Crea un argomento per crearne uno.
Fai clic su Salva.
bq
Inserisci il comando bq mk
e fornisci il flag di creazione del trasferimento, --transfer_config:
bq mk
--transfer_config
--project_id=PROJECT_ID
--data_source=DATA_SOURCE
--display_name=DISPLAY_NAME
--target_dataset=DATASET
--params='PARAMETERS'
Sostituisci quanto segue:
PROJECT_ID(facoltativo): l'ID progetto Google Cloud . Se non viene specificato un ID progetto, viene utilizzato il progetto predefinito.DATA_SOURCE: l'origine dati (ad esempio,servicenow).DISPLAY_NAME: il nome visualizzato della configurazione del trasferimento. Il nome del trasferimento di dati può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.DATASET: il set di dati di destinazione per la configurazione del trasferimento.PARAMETERS: i parametri per la configurazione del trasferimento creato in formato JSON. Ad esempio:--params='{"param":"param_value"}'. Di seguito sono riportati i parametri per un trasferimento di dati ServiceNow:Parametro ServiceNow Obbligatorio o facoltativo Descrizione connector.networkAttachmentFacoltativo Nome del collegamento di rete da utilizzare per garantire la connettività all'istanza ServiceNow. connector.instanceIdObbligatorio ID istanza dell'istanza ServiceNow connector.authentication.usernameObbligatorio Nome utente per l'istanza ServiceNow dell'utente. connector.authentication.passwordObbligatorio Password per l'istanza ServiceNow dell'utente. connector.authentication.oauth.clientIdObbligatorio ID client per l'autenticazione OAuth con l'istanza ServiceNow. connector.authentication.oauth.clientSecretObbligatorio Client secret per l'autenticazione OAuth con l'istanza ServiceNow. connector.instanceCloudTypeFacoltativo Specifica il tipo di cloud del tuo account ServiceNow. I valori supportati sono: COMMERCIAL_CLOUD, se l'URL della tua istanza ServiceNow segue il patternhttps://INSTANCE_ID.service-now.comGOVERNMENT_COMMUNITY_CLOUDse l'URL della tua istanza ServiceNow segue il patternhttps://INSTANCE_ID.servicenowservices.com
ingestionTypeFacoltativo Definisce il metodo per trasferire i dati dall'istanza ServiceNow di origine alla destinazione, determinando se viene eseguito un ricaricamento completo del set di dati o un aggiornamento incrementale efficiente. writeModeFacoltativo Se utilizzi l'importazione incrementale, determina la strategia di sincronizzazione per l'importazione incrementale. Questo campo è obbligatorio per i trasferimenti incrementali. Il valore supportato è WRITE_MODE_UPSERT.assetsObbligatorio Elenco dei nomi delle tabelle ServiceNow da trasferire da ServiceNow nell'ambito del trasferimento. watermarkColumnsFacoltativo Se utilizzi l'importazione incrementale, il campo della tabella di origine (in genere datetime) utilizzato per monitorare l'ultimo punto di sincronizzazione riuscito, consentendo al connettore di eseguire query e trasferire in modo efficiente solo i record creati o modificati da quel momento specifico. Questo campo è obbligatorio per i trasferimenti incrementali. primaryKeysFacoltativo Se utilizzi l'importazione incrementale, la colonna o la combinazione di colonne univoca utilizzata per identificare in modo univoco ogni riga nella tabella di origine. Questo campo è obbligatorio per i trasferimenti incrementali. valueTypeFacoltativo Controlla la mappatura di tipi di dati specifici di ServiceNow ai tipi di dati BigQuery. connector.legacyMappingObbligatorio Imposta su true(impostazione predefinita) per utilizzare la mappatura dei tipi di dati legacy. Imposta sufalseper utilizzare la mappatura dei tipi di dati aggiornata. Se stai eseguendo un trasferimento incrementale, questo valore deve esserefalse. Per saperne di più sugli aggiornamenti della mappatura dei tipi di dati, vedi 16 marzo 2027.Quando specifichi più asset durante un trasferimento incrementale, i valori dei campi
watermarkColumnseprimaryKeyscorrispondono alla posizione dei valori nel campoassets. Assicurati che l'ordine delle tabelle e delle relative colonne venga mantenuto in modo coerente in tutti gli elenchi di configurazione correlati.Ad esempio, il seguente comando crea un trasferimento di dati ServiceNow nel progetto predefinito con tutti i parametri richiesti:
bq mk --transfer_config --target_dataset=mydataset --data_source=servicenow --display_name='My Transfer' --params='{"connector.authentication.oauth.clientId": "1234567890", "connector.authentication.oauth.clientSecret":"ABC12345", "connector.authentication.username":"user1", "connector.authentication.password":"abcdef1234", "connector.instanceId":"dev-instance", "connector.networkAttachment": "projects/dev-project1/regions/us-central1/networkattachments/na1"}'Il comando seguente crea un trasferimento di dati ServiceNow incrementale nel progetto predefinito e utilizza la modalità di scrittura
UPSERT.bq mk --transfer_config --target_dataset=mydataset --data_source=servicenow --display_name='My Transfer' --params='{"assets": ["incident", "change_request"], "connector.authentication.oauth.clientId": "1234567890", "connector.authentication.oauth.clientSecret":"ABC12345", "connector.authentication.username":"user1", "connector.authentication.password":"abcdef1234", "connector.instanceId":"dev-instance", "ingestionType":"incremental", "writeMode":"WRITE_MODE_UPSERT", "watermarkColumns":["sys_updated_on","sys_updated_on"], "primaryKeys":[["sys_id"], ["sys_id"]]}'
API
Utilizza il metodo projects.locations.transferConfigs.create e fornisci un'istanza della risorsa TransferConfig.
Per eseguire manualmente un trasferimento di dati al di fuori della pianificazione regolare, puoi avviare un'esecuzione di backfill.
Mappatura dei tipi di dati
La seguente tabella mostra come vengono mappati i tipi di dati in un trasferimento di dati ServiceNow:
| Tipo di dati ServiceNow | Tipo di dati BigQuery | Tipo di dati BigQuery aggiornato |
|---|---|---|
decimal |
FLOAT64 |
|
integer |
INTEGER |
|
boolean |
BOOLEAN |
|
glide_date |
DATE |
|
glide_date_time |
DATETIME |
|
glide_list |
STRING |
ARRAY |
glide_time |
INT64 |
|
reference |
STRING |
|
currency |
STRING |
|
sys_class_name |
STRING |
|
domain_id |
STRING |
|
domain_path |
STRING |
|
guid |
STRING |
|
translated_html |
STRING |
|
journal |
STRING |
|
string |
STRING |
|
list |
STRING |
ARRAY |
Risolvere i problemi di trasferimento
Le sezioni seguenti descrivono in dettaglio i problemi comuni durante la configurazione di un trasferimento di dati ServiceNow.
Per saperne di più, consulta Risolvi i problemi relativi alle configurazioni di trasferimento.
Il trasferimento non riesce a causa dell'abilitazione di ServiceNow
Si verifica un problema che causa l'errore dei trasferimenti di dati quando le applicazioni Procurement, Product Catalog o Contract Management non sono abilitate in ServiceNow. Per risolvere il problema, attiva tutte e tre le applicazioni:
- Approvvigionamento
- Catalogo dei prodotti
- Gestione dei contratti (abilitata per impostazione predefinita)
Il problema si verifica durante l'esecuzione del trasferimento
Si verifica un problema che impedisce la creazione dell'esecuzione del trasferimento come previsto. Per risolvere il problema:
- Verifica che le credenziali dell'account ServiceNow, come i valori di Nome utente, Password, ID client e Client secret, siano validi.
- Verifica che l'ID istanza sia l'ID valido della tua istanza ServiceNow.
Altri errori
Per informazioni su altri errori verificatisi durante un trasferimento di dati ServiceNow, consulta Problemi di trasferimento di ServiceNow.
Prezzi
Per informazioni sui prezzi dei trasferimenti da ServiceNow, consulta la sezione Prezzi di Data Transfer Service.
Passaggi successivi
- Per una panoramica di BigQuery Data Transfer Service, consulta Introduzione a BigQuery Data Transfer Service.
- Per informazioni sull'utilizzo dei trasferimenti, inclusi i dettagli su una configurazione di trasferimento, l'elenco delle configurazioni di trasferimento e la visualizzazione della cronologia di esecuzione di un trasferimento, consulta Utilizzo dei trasferimenti.
- Scopri come caricare i dati con le operazioni di BigQuery Omni.