Risolvere i problemi relativi alle configurazioni del trasferimento
Questo documento ha lo scopo di aiutarti a risolvere i problemi più comuni riscontrati durante la configurazione di un trasferimento BigQuery Data Transfer Service. Questo documento non include tutti i possibili messaggi di errore o problemi.
Se riscontri problemi non trattati in questo documento, puoi richiedere assistenza.
Prima di contattare l'assistenza clienti Google Cloud, acquisisci i dettagli della configurazione del trasferimento e dell'esecuzione del trasferimento. Per informazioni su come ottenere questi dettagli, vedi Ottenere i dettagli del trasferimento e Visualizzare i dettagli dell'esecuzione del trasferimento e i messaggi di log.
Esaminare gli errori
Se l'esecuzione del trasferimento iniziale non va a buon fine, puoi esaminare i dettagli nella cronologia delle esecuzioni. Gli errori elencati nella cronologia delle esecuzioni possono aiutarti a identificare una soluzione appropriata utilizzando questo documento.
Puoi anche visualizzare i messaggi di errore per uno specifico job di trasferimento utilizzando Esplora log. Il seguente filtro di Esplora log restituisce informazioni su un job di configurazione del trasferimento specifico, insieme a eventuali messaggi di errore:
resource.type="bigquery_dts_config"
labels.run_id="RUN_ID"
resource.labels.config_id="CONFIG_ID"
Sostituisci quanto segue:
RUN_ID: il numero ID di una specifica esecuzione del jobCONFIG_ID: il numero ID di un job di configurazione del trasferimento
Prima di contattare l'assistenza clienti, acquisisci tutte le informazioni pertinenti dalla cronologia delle esecuzioni o da Logs Explorer, inclusi eventuali messaggi di errore.
Se utilizzi i trasferimenti basati sugli eventi, la configurazione del trasferimento basato sugli eventi potrebbe non attivare un'esecuzione del trasferimento. Puoi visualizzare i messaggi di errore nella parte superiore della pagina Cronologia esecuzioni o della pagina Configurazione.
Problemi generici
Quando diagnostichi problemi di trasferimento generali, verifica quanto segue:
- Verifica di aver completato tutti i passaggi della sezione "Prima di iniziare" della pagina di documentazione per il tipo di trasferimento.
- Le proprietà di configurazione del trasferimento sono corrette.
- L'account utente utilizzato per creare il trasferimento ha accesso alle risorse sottostanti.
Se la configurazione del trasferimento è corretta e sono state concesse le autorizzazioni appropriate, consulta quanto segue per le soluzioni ai problemi riscontrati più di frequente.
- Errore:
An unexpected issue was encountered. If this issue persists, please contact customer support. - Risoluzione:questo errore in genere indica un'interruzione temporanea o un problema all'interno di BigQuery. Attendi circa 2 ore per la risoluzione del problema. Se il problema persiste, richiedi assistenza.
- Errore:
INTERNAL: An internal error occurred and the request could not be completed. This is usually caused by a transient issue... - Risoluzione:questo errore in genere indica un problema interno temporaneo. Se riscontri questo errore, puoi attendere per vedere se si risolve nella successiva esecuzione pianificata oppure puoi attivare manualmente un backfill per le date interessate. Se il problema persiste, richiedi assistenza.
- Errore:
Quota Exceeded. Risoluzione:i trasferimenti sono soggetti alle quote di BigQuery sui job di caricamento. Se hai bisogno di aumentare la quota, contatta il tuo rappresentante di vendita di Cloud de Confiance by S3NS . Per saperne di più, consulta Quote e limiti.
Se carichi le esportazioni della fatturazione Cloud in BigQuery, puoi riscontrare l'errore
Quota Exceeded. Sia le tabelle di esportazione di Cloud Billing sia le tabelle BigQuery di destinazione create dal servizio BigQuery Data Transfer Service sono partizionate. La scelta dell'opzione sovrascrittura durante l'impostazione di questi job BigQuery Data Transfer Service causa gli errori di quota a seconda della quantità di dati esportati. Per informazioni sulla risoluzione dei problemi relativi alle quote, consulta Risolvi i problemi relativi a quote e limiti.Se l'errore è dovuto ai job BigQuery Data Transfer Service per le esportazioni di fatturazione Cloud, tieni presente che, poiché le singole tabelle di esportazione della fatturazione Cloud sono partizionate, lo è anche la tabella di destinazione creata da BigQuery Data Transfer Service. Di conseguenza, la scelta dell'opzione sovrascrittura durante la configurazione di questi job di trasferimento dei dati comporterà errori di quota DML a seconda dell'età degli account di fatturazione. Per informazioni sulla risoluzione dei problemi relativi alle quote, consulta Risolvi i problemi relativi a quote e limiti.
- Errore:
The caller does not have permission. Risoluzione:verifica che l'account con cui hai eseguito l'accesso nella console Cloud de Confiance sia lo stesso che selezioni per BigQuery Data Transfer Service quando crei il trasferimento.
Account a cui è stato eseguito l'accesso nella console Cloud de Confiance :
Scegli un account per continuare a BigQuery Data Transfer Service:
- Errore:
Access Denied: ... Permission bigquery.tables.get denied on table ... Risoluzione:conferma che all'agente di servizio di BigQuery Data Transfer Service sia stato concesso il ruolo
bigquery.dataEditornel set di dati di destinazione. Questa concessione viene applicata automaticamente durante la creazione e l'aggiornamento del trasferimento, ma è possibile che la policy di accesso sia stata modificata manualmente in un secondo momento. Per riassegnare l'autorizzazione, consulta Concedere l'accesso a un set di dati.- Errore:
region violates constraint constraints/gcp.resourceLocations on the resource projects/project_id Risoluzione:questo errore si verifica quando un utente tenta di creare una configurazione di trasferimento in una località con limitazioni, come specificato nella policy dell'organizzazione per la limitazione della località. Puoi risolvere il problema modificando la policy dell'organizzazione per consentire la regione oppure modificando la configurazione del trasferimento in un set di dati di destinazione che si trova in una regione non soggetta a restrizioni da parte della policy dell'organizzazione.
- Errore:
Please look into the errors[] collection for more details. Risoluzione:questo errore può verificarsi quando un trasferimento dei dati non riesce. Per ulteriori informazioni sul motivo per cui il trasferimento dei dati non è riuscito, puoi utilizzare Cloud Logging per visualizzare i log. Puoi trovare i log per un'esecuzione specifica cercando utilizzando il trasferimento
run_id.- Errore:
Network Attachment with connected endpoints cannot be deleted. Risoluzione:questo errore può verificarsi quando un utente tenta di eliminare gli allegati di rete subito dopo aver eliminato il trasferimento. Ciò accade perché possono essere necessari diversi giorni dopo l'eliminazione di un trasferimento prima che BigQuery Data Transfer Service possa rimuovere completamente tutte le risorse associate al trasferimento, il che può impedire l'eliminazione degli allegati di rete. Per risolvere questo errore, attendi alcuni giorni prima di provare a eliminare gli allegati di rete. Se vuoi che gli allegati di rete vengano eliminati prima, puoi contattare l'assistenza.
Problemi di autorizzazione e permessi
Di seguito sono riportati alcuni errori di autorizzazione comuni che puoi riscontrare quando trasferisci dati da diverse origini dati:
- Errore:
BigQuery Data Transfer Service is not enabled for <project_id> - Errore:
BigQuery Data Transfer Service has not been used in project <project_id> before or it is disabled ... Risoluzione:verifica che il ruolo di service agent sia concesso seguendo questi passaggi:
Nella console Cloud de Confiance , vai alla pagina IAM e amministrazione.
Seleziona la casella di controllo Includi concessioni di ruoli fornite da S3NS.
Verifica che venga visualizzato il service account con il nome
service-<project_number>@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.como che gli sia stato concesso il ruolo agente BigQuery Data Transfer Service.
Se il service account non viene visualizzato o non dispone del ruolo di service agent BigQuery Data Transfer Service, concedi il ruolo predefinito nella console Cloud de Confiance o eseguendo il seguente comando Google Cloud CLI:
gcloud projects add-iam-policy-binding PROJECT_NUMBER \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com \ --role roles/bigquerydatatransfer.serviceAgentSostituisci
PROJECT_NUMBERcon il numero di progetto associato a questoaccount di serviziot.- Errore:
There was an error loading this table. Check that the table exists and that you have the correct permissions. Risoluzione:
Nella console Cloud de Confiance , vai alla pagina BigQuery.
Fai clic sul set di dati di destinazione utilizzato nel trasferimento.
Fai clic sul menu Condivisione e poi su Autorizzazioni.
Espandi il ruolo Editor dati BigQuery.
Verifica che l'agente di servizio BigQuery Data Transfer Service sia aggiunto a questo ruolo. In caso contrario, assegna il ruolo BigQuery Data Editor (
roles/bigquery.dataEditor) all'agente di servizio BigQuery Data Transfer Service.
- Errore:
A permission denied error was encountered: PERMISSION_DENIED. Please ensure that the user account setting up the transfer config has the necessary permissions, and that the configuration settings are correct Risoluzione:
Nella console Cloud de Confiance , vai alla pagina Trasferimenti dati.
Fai clic sul trasferimento non riuscito, quindi seleziona la scheda Configurazione.
Verifica che il proprietario del trasferimento elencato nel campo Utente disponga di tutte le autorizzazioni richieste per l'origine dati.
Se il proprietario del trasferimento non dispone di tutte le autorizzazioni richieste, concedi le autorizzazioni richieste aggiornando le sue credenziali. Puoi anche modificare il proprietario del trasferimento in un altro utente con le autorizzazioni richieste.
- Errore:
Authentication failure: User Id not found. Error code: INVALID_USERID Risoluzione:il proprietario del trasferimento ha un ID utente non valido. Modifica il proprietario del trasferimento in un altro utente aggiornando le sue credenziali. Se utilizzi un service account, devi anche verificare che gli account che eseguono il trasferimento di dati dispongano di tutte le autorizzazioni necessarie per utilizzare un service account.
- Errore:
The user does not have permission Soluzione:verifica che il proprietario del trasferimento sia un service account e che il servizio disponga di tutte le autorizzazioni richieste. Un'altra possibilità è che il service account utilizzato sia stato creato in un progetto diverso da quello utilizzato per creare questo trasferimento. Per risolvere i problemi di autorizzazione tra progetti, consulta le seguenti risorse:
- Consenti l'allegato di service account in più progetti
- Autorizzazione del service account tra progetti (per concedere le autorizzazioni necessarie)
- Errore:
HttpError 403 when requesting returned "The caller does not have permission" googleapiclient.errors.HttpError: <HttpError 403 when requesting returned "The caller does not have permission". Details: "The caller does not have permission">Questo errore potrebbe essere visualizzato quando tenti di configurare una query pianificata con un service account.
Soluzione:assicurati che il service account disponga di tutte le autorizzazioni necessarie per pianificare o modificare una query pianificata e che l'utente che configura la query pianificata abbia accesso al service account.
Se tutte le autorizzazioni corrette sono assegnate, ma continui a riscontrare l'errore, controlla se il criterio Disabilita l'utilizzo dei service account tra i progetti è applicato al progetto per impostazione predefinita. Puoi verificare la presenza della policy nella console Cloud de Confiance andando a IAM e amministrazione > Policy dell'organizzazione e cercando la policy.

Se viene applicata la policy Disabilita l'utilizzo dei service account tra i progetti, puoi disattivarla procedendo nel seguente modo:
- Identifica i service account associati al progetto utilizzando la console Cloud de Confiance , andando a IAM e amministrazione > Service account. Questa visualizzazione mostra tutti i service account per il progetto corrente.
- Disattiva il criterio nel progetto in cui si trovano i service account utilizzando il seguente comando. Per disattivare questo criterio, l'utente deve essere un amministratore delle policy dell'organizzazione. Solo l'Amministratore organizzazione può concedere questo ruolo a un utente.
gcloud resource-manager org-policies disable-enforce iam.disableCrossProjectServiceAccountUsage --project=[PROJECT-ID]
Problemi di configurazione del trasferimento basato su eventi
Di seguito sono riportati alcuni problemi comuni che potresti riscontrare durante la creazione di un trasferimento basato sugli eventi.
- Errore:
Data Transfer Service is not authorized to pull message from the provided Pub/Sub subscription. Risoluzione:verifica che all'agente di servizio di BigQuery Data Transfer Service sia concesso il ruolo
pubsub.subscriber:Nella console Cloud de Confiance , vai alla pagina Pub/Sub.
Seleziona la sottoscrizione Pub/Sub che hai utilizzato nel trasferimento basato su eventi.
Se il riquadro informazioni è nascosto, fai clic su Mostra riquadro informazioni nell'angolo in alto a destra.
Nella scheda Autorizzazioni, verifica che l'agente di servizio BigQuery Data Transfer Service disponga del ruolo
pubsub.subscriber.

Se all'agente di servizio non è stato concesso il ruolo
pubsub.subscriber. Fai clic su Aggiungi entità per concedere il ruolopubsub.subscriberaservice-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com.- Errore:
Cloud Pub/Sub API has not been used in project PROJECT_NUMBER before or it is disabled. Risoluzione: verifica che l'API Cloud Pub/Sub sia abilitata per il tuo progetto:
Nella console Cloud de Confiance , vai alla pagina API e servizi.
Fai clic su Abilita API e servizi.
Cerca
Cloud Pub/Sub API, seleziona il primo risultato e fai clic su Attiva.
- Errore:
Data Transfer Service does not have required permission to use project quota of project PROJECT_NUMBER to access Pub/Sub. Risoluzione:verifica che all'agente di servizio di BigQuery Data Transfer Service sia concesso il ruolo
serviceusage.serviceUsageConsumer:Nella console Cloud de Confiance , vai alla pagina IAM e amministrazione.
Seleziona la casella di controllo Includi concessioni di ruoli fornite da S3NS.
Verifica che venga visualizzato il service account con il nome
service-<project_number>@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.come che gli sia stato concesso il ruolo Consumer utilizzo servizi.
- Problema: quando utilizzi il trasferimento basato su eventi di Cloud Storage, non viene attivata alcuna esecuzione del trasferimento dopo il caricamento o l'aggiornamento dei file nel bucket Cloud Storage.
Le esecuzioni del trasferimento non vengono attivate immediatamente dopo la ricezione di un evento. L'attivazione di un'esecuzione del trasferimento potrebbe richiedere diversi minuti. Per controllare lo stato della successiva esecuzione del trasferimento, puoi controllare il campo Data di destinazione per la prossima esecuzione nella cronologia delle esecuzioni. Questo campo mostra l'ora pianificata per l'esecuzione successiva oppure In attesa di eventi per pianificare l'esecuzione successiva se non sono stati ricevuti eventi. Se hai caricato o aggiornato file nel bucket Cloud Storage, ma la Data di destinazione per la prossima esecuzione non è stata aggiornata e non vengono attivate esecuzioni per 10-20 minuti, consulta la seguente soluzione.
Risoluzione:verifica che l'abbonamento Pub/Sub specificato nella configurazione del trasferimento sia in grado di ricevere i messaggi pubblicati dagli eventi Cloud Storage:
Nella console Cloud de Confiance , vai alla pagina Pub/Sub.
Seleziona la sottoscrizione Pub/Sub che hai utilizzato nel trasferimento basato su eventi.
Nella scheda Metriche, controlla il grafico "Età del messaggio senza ACK meno recente" e verifica se sono presenti messaggi.

Se non vengono pubblicati messaggi, verifica che la notifica Pub/Sub sia configurata correttamente per Cloud Storage. Puoi utilizzare il seguente comando Google Cloud CLI per controllare le configurazioni di notifica associate al tuo bucket:
gcloud storage buckets notifications list gs://BUCKET_NAMESostituisci
BUCKET_NAMEcon il nome del bucket che utilizzi per la notifica. Per informazioni sulla configurazione di una notifica Pub/Sub per Cloud Storage, consulta Configurare la notifica Pub/Sub per Cloud Storage.Se sono presenti messaggi, verifica se la stessa sottoscrizione Pub/Sub viene utilizzata in altre configurazioni di trasferimento basate su eventi. La stessa sottoscrizione Pub/Sub non può essere riutilizzata da più configurazioni di trasferimento basate sugli eventi. Per saperne di più sui trasferimenti basati su eventi, consulta Trasferimenti basati su eventi.
Problemi relativi alle quote
- Errore:
Quota exceeded: Your project exceeded quota for imports per project. - Risoluzione: verifica di non aver pianificato troppi trasferimenti nel tuo progetto. Per informazioni sul calcolo del numero di job di caricamento avviati da un trasferimento, consulta Quote e limiti.