Messaggi di errore
Questo documento descrive i messaggi di errore che potresti riscontrare quando utilizzi BigQuery, inclusi i codici di errore HTTP e i passaggi consigliati per la risoluzione dei problemi.
Per saperne di più sugli errori delle query, consulta Risolvere gli errori delle query.
Per saperne di più sugli errori di inserimento di flussi di dati, consulta la pagina Risolvere i problemi relativi all'inserimento di flussi di dati.
Tabella degli errori
Le risposte dell'API BigQuery includono un codice di errore HTTP e un oggetto di errore nel corpo della risposta. Un oggetto di errore è in genere uno dei seguenti:
- Un oggetto
errors, che contiene un array di oggettiErrorProto. - Un oggetto
errorResults, che contiene un singolo oggettoErrorProto.
La colonna Messaggio di errore nella tabella seguente corrisponde alla proprietà reason
in un oggetto ErrorProto.
La tabella non include tutti i possibili errori HTTP o altri errori di rete. Pertanto, non dare per scontato che un oggetto di errore sia presente in ogni risposta di errore di BigQuery. Inoltre, potresti ricevere errori o oggetti di errore diversi se utilizzi le librerie client di Cloud per l'API BigQuery. Per maggiori informazioni, consulta Librerie client API BigQuery.
Se ricevi un codice di risposta HTTP che non è presente nella tabella seguente,
il codice di risposta indica un problema o un risultato previsto con la richiesta HTTP. I codici di risposta nell'intervallo 5xx indicano un errore lato server. Se
ricevi un codice di risposta 5xx, riprova a inviare la richiesta in un secondo momento. In alcuni casi, un codice di risposta
5xx potrebbe essere restituito da un server intermedio come un
proxy. Esamina il corpo della risposta e le intestazioni della risposta per i dettagli
dell'errore. Per un elenco completo dei codici di risposta HTTP, consulta Codici di risposta
HTTP.
Se utilizzi lo strumento a riga di comando bq per controllare lo stato del job,
l'oggetto errore non viene restituito per impostazione predefinita. Per visualizzare l'oggetto errore e la
proprietà reason corrispondente che corrisponde alla tabella seguente, utilizza il
flag --format=prettyjson. Ad esempio: bq --format=prettyjson show -j
*<job id>*. Per visualizzare il logging dettagliato per lo strumento bq, utilizza
--apilog=stdout. Per saperne di più sulla risoluzione dei problemi relativi allo strumento bq,
consulta la sezione Debug.
| Messaggio di errore | Codice HTTP | Descrizione | Risoluzione dei problemi |
|---|---|---|---|
| accessDenied | 403 |
Questo errore viene restituito quando tenti di accedere a una risorsa come un set di dati, una tabella, una visualizzazione o un job a cui non hai accesso. Questo errore viene restituito anche quando tenti di modificare un oggetto di sola lettura. |
Contatta il proprietario della risorsa e
richiedi l'accesso alla risorsa per
l'utente identificato dal valore |
| attributeError | 400 |
Questo errore viene restituito quando si verifica un problema con il codice utente in cui viene chiamato un determinato attributo dell'oggetto, ma non esiste. |
Assicurati che l'oggetto con cui stai lavorando abbia l'attributo a cui stai cercando di accedere. Per saperne di più su questo errore, consulta AttributeError. |
| backendError | 500, 502, 503 o 504 |
Questo errore indica che il servizio non è al momento disponibile. Questo può
accadere a causa di una serie di problemi temporanei, tra cui:
|
Gli errori 5xx sono problemi lato servizio e il client non ha modo di risolverli o
controllarli. Dal lato client, per mitigare l'impatto degli errori 5xx, devi riprovare a inviare le richieste utilizzando backoff esponenziali troncati. Per saperne di più sui backoff esponenziali,
consulta
Backoff
esponenziale. Tuttavia, esistono due casi speciali per la risoluzione dei problemi relativi a questo errore: chiamate
Chiamate Se i tentativi non sono efficaci e i problemi persistono, puoi
calcolare la percentuale di richieste
non riuscite e
contattare l'assistenza. |
| badRequest | 400 |
L'errore |