Risolvere i problemi relativi a Dataform

Questo documento mostra come risolvere i problemi relativi a Dataform.

L'accesso a BigQuery è negato

Il seguente errore si verifica quando attivi una chiamata di un flusso di lavoro prima di concedere a Dataform l'accesso a BigQuery:

Access Denied: Project PROJECT_ID: User does not have bigquery.jobs.create permission in project PROJECT_ID.

Per risolvere questo errore, concedi a Dataform l'accesso a BigQuery.

Il token di accesso per un repository remoto è stato rifiutato

Quando il token di autenticazione per un repository di terze parti connesso non ha accesso a questo repository si verifica il seguente errore:

The access token for remote repository REPOSITORY_NAME was rejected

Per risolvere questo errore, controlla le autorizzazioni richieste nel tuo provider Git e aggiorna di conseguenza il token di autenticazione di Secret Manager. Per ulteriori informazioni sull'autenticazione dei repository Git di terze parti in Dataform, consulta Connettersi a un repository Git di terze parti.

La quota BigQuery è stata superata

Il seguente errore si verifica quando il numero di richieste API che Dataform invia a BigQuery supera la quota BigQuery:

Quota exceeded: Your user_method exceeded quota for concurrent api requests
per user per method.

Per risolvere questo errore, riduci il numero di query parallele a meno di 250 nei seguenti modi:

Per istruzioni su come risolvere questo errore in BigQuery, consulta Risolvere gli errori di quota e limiti.

Il limite di contemporaneità delle query BigQuery è stato superato

Il seguente errore si verifica quando il numero di query in parallelo eseguite su BigQuery supera il limite di contemporaneità delle query di BigQuery:

Exceeded rate limits: too many concurrent queries for this project_and_region

Per risolvere questo errore, riduci il numero di query parallele a meno di 250 nei seguenti modi:

Per istruzioni su come risolvere questo errore in BigQuery, consulta Risolvere gli errori di quota e limiti.

Errori di chiamata del flusso di lavoro BigQuery

Durante l'esecuzione di un flusso di lavoro SQL in BigQuery si verificano i seguenti errori:

Per risolvere questi errori, consulta la pagina Messaggi di errore di BigQuery.

Compilazione con errori

Durante la compilazione, si verificano i seguenti errori a causa delle dimensioni o del numero di query compilate:

  • Compilation timed out. Reduce the complexity of your project to ensure it can compile within limits.
  • Compilation exceeded its allowed heap memory limits. Reduce the complexity of your project to ensure it can compile within limits.
  • Compilation exceeded its allowed ArrayBuffer or string memory limits. Reduce the complexity of your project to ensure it can compile within limits.

Per risolvere questi errori:

  1. Aggiorna il core di Dataform alla versione più recente.
  2. Esamina il flusso di lavoro SQL per identificare e ridurre le inefficienze.
  3. Riduci le dimensioni delle query SQL.
  4. Riduci il numero di operazioni JavaScript in memoria, ad esempio:

    config { config {type: "table" }}
    js {
        const tooBig = new Uint8Array(110_000_000);
    }
    SELECT ...
    
  5. Suddividi il repository.

Per saperne di più sui limiti delle risorse di compilazione di Dataform, consulta Quote e limiti.

@dataform/core errori di dipendenza

Durante la compilazione, si verificano i seguenti errori se la dipendenza dataform-core in package.json è obsoleta:

Failed to resolve @dataform/core
@dataform/core version should be X.X.X or newer

La dipendenza @dataform/core è obbligatoria in package.json. Quando inizializza la prima area di lavoro nel repository, Dataform completa automaticamente package.json con la versione corrente di @dataform/core. Devi aggiornare @dataform/core all'ultima versione non appena esce.

Per risolvere questi errori, aggiorna @dataform/core all'ultima versione.

Impossibile risolvere dataform.json

Quando inizi a inizializzare un'area di lavoro Dataform si verifica il seguente errore, ma durante il processo di inizializzazione non vengono installati tutti i pacchetti:

Uncaught Error: Failed to resolve dataform.json

Per risolvere questo errore, apri package.json nell'area di lavoro e fai clic su Installa pacchetti.

git+ target del pacchetto non sono supportati

Il seguente errore si verifica quando definisci i pacchetti in package.json con target che hanno come prefisso git+:

'git+' prefixed package targets are not currently supported. However,
in most cases they can be used via a '.tar.gz' suffixed target instead.

Dataform non supporta i target dei pacchetti con prefisso git+.

Per risolvere questo errore, genera un URL tar.gz del pacchetto e aggiorna la destinazione del pacchetto in package.json. Per maggiori informazioni sull'installazione dei pacchetti in Dataform, consulta Installare un pacchetto in Dataform.

Timeout dell'installazione dei pacchetti

Il seguente errore si verifica quando la dimensione dei pacchetti definiti in package.json supera la dimensione massima delle dipendenze NPM:

API request error: Package installation timed out

Per risolvere questo errore, rimuovi i pacchetti ridondanti da package.json. Assicurati che il file package.json non contenga @dataform/cli e che la dimensione totale delle dipendenze di Gestione dei partner di rete definite non superi i 200 MB.

Se le configurazioni della release fanno riferimento a commit Git, assicurati che i file package.json nelle destinazioni siano validi.

Impossibile raggiungere il registro privato dei pacchetti

Il seguente errore si verifica alla scadenza dell'autenticazione Dataform per un pacchetto privato:

Permission denied when fetching one or more npm packages. Please verify that
private registry authentication details are valid for each npm registry

Per risolvere questo errore, verifica che i dettagli di autenticazione del registro privato siano validi per ogni registro NPM. Per maggiori informazioni, consulta Autenticare un pacchetto privato in Dataform.

Impossibile raggiungere il repository remoto

Il seguente errore si verifica a causa di una debolezza di Git o quando il nome di un ramo nel repository Git di terze parti collegato contiene un carattere non ASCII o non inglese:

Remote repository REPOSITORY_NAME could not be reached.

Per risolvere questo errore, controlla i nomi dei rami nel repository di terze parti connesso. Se il nome di un ramo contiene un carattere non ASCII o non inglese, elimina il ramo.

Impossibile raggiungere il repository remoto: generic::invalid_argument

Nella pagina Dettagli delle configurazioni di release si verifica il seguente errore quando a volte una release pianificata riscontra una connessione GitHub, GitLab o Bitbucket lenta, instabile o interrotta:

generic::invalid_argument: Remote repository 'REMOTE_REPOSITORY_URL' could not be reached.

Non è richiesta alcuna azione da parte tua. A meno che non si verifichino problemi con GitHub, GitLab o Bitbucket Cloud, le release pianificate successive possono avere esito positivo.

Impossibile raggiungere il secret per un repository remoto

Il seguente errore si verifica quando l'account di servizio Dataform non riesce ad accedere al secret di Secret Manager per un repository di terze parti connesso:

Dataform's service account is unable to reach the configured secret.
Make sure the secret exists and is shared with your Dataform service account:
SERVICE_ACCOUNT_ID.

Per risolvere questo errore:

  • Verifica che il tuo account di servizio Dataform abbia accesso al secret.
  • Escludi il secret dal perimetro di servizio VPC-SC. Al momento Dataform non supporta VPC-SC.