Questo documento mostra come risolvere i problemi relativi a Dataform.
Accesso a BigQuery negato
Il seguente errore si verifica quando attivi una chiamata del 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 l'accesso a Dataform a BigQuery.
Il token di accesso per un repository remoto è stato rifiutato
Il seguente errore si verifica quando il token di autenticazione per un repository di terze parti connesso non ha accesso al repository:
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 di 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:
- In Dataform, classifica le azioni con i tag ed esegui solo tag selezionati alla volta.
- In Dataform, introduci le dipendenze tra le azioni.
- In Dataform, suddividi le esecuzioni di azioni tra diversi progetti Google Cloud.
Per istruzioni su come risolvere questo errore in BigQuery, consulta Risolvere gli errori relativi a quote e limiti.
Il limite di contemporaneità delle query BigQuery è stato superato
Il seguente errore si verifica quando il numero di query simultanee eseguite su BigQuery supera il limite di contemporaneità delle query 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:
- In Dataform, classifica le azioni con i tag ed esegui solo tag selezionati alla volta.
- In Dataform, introduci le dipendenze tra le azioni.
- In Dataform, suddividi le esecuzioni di azioni tra diversi progetti Google Cloud.
Per istruzioni su come risolvere questo errore in BigQuery, consulta Risolvere gli errori relativi a quote 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:
- Errori di chiamata del flusso di lavoro che iniziano con messaggi di errore BigQuery.
Per risolvere questi errori, consulta Messaggi di errore di BigQuery.
includeDependentAssertions
proprietà in conflitto
Il seguente errore si verifica durante la compilazione quando il parametro includeDependentAssertions
è impostato per la stessa azione con valori diversi all'interno di un file:
Conflicting "includeDependentAssertions" properties are not allowed. Dependency
dependencyName has different values set for this property.
Per risolvere questo errore, modifica il file e rimuovi le ripetizioni in conflitto del
parametro includeDependentAssertions
.
Per saperne di più sull'utilizzo del parametro includeDependentAssertions
per impostare le asserzioni come dipendenze, consulta Impostare come dipendenze le asserzioni di un'azione selezionata.
Compilazione non riuscita
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:
- Aggiorna Dataform core alla versione più recente.
- Controlla il flusso di lavoro SQL per identificare e ridurre le inefficienze.
- Riduci le dimensioni delle query SQL.
Riduci la quantità di operazioni JavaScript in memoria, ad esempio:
config { config {type: "table" }} js { const tooBig = new Uint8Array(110_000_000); } SELECT ...
Per ulteriori informazioni sui limiti delle risorse di compilazione di Dataform, consulta Quote e limiti.
@dataform/core
errore 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
inizializzi la prima area di lavoro nel repository, Dataform
compila automaticamente package.json
con la versione corrente di
@dataform/core
. Devi aggiornare @dataform/core
all'ultima versione non appena uscirà.
Per risolvere questi errori, aggiorna @dataform/core
all'ultima versione.
Impossibile risolvere dataform.json
Il seguente errore si verifica quando inizializza un'area di lavoro Dataform, ma il processo di inizializzazione non riesce a installare tutti i pacchetti:
Uncaught Error: Failed to resolve dataform.json
Per risolvere questo errore, nell'area di lavoro apri package.json
e fai clic su Installa pacchetti.
Impossibile risolvere workflow_settings.yaml
Il seguente errore si verifica quando inizializza un'area di lavoro Dataform, ma il processo di inizializzazione non riesce a installare tutti i pacchetti:
Uncaught Error: Failed to resolve workflow_settings.yaml
Per risolvere questo errore, nell'area di lavoro apri workflow_settings.yaml
e fai clic su Installa pacchetti.
git+
target pacchetto non sono supportati
Il seguente errore si verifica quando definisci pacchetti in package.json
con
target con 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 di pacchetto che hanno come prefisso git+
.
Per risolvere questo errore, genera un URL tar.gz
del pacchetto e aggiorna la destinazione del pacchetto in package.json
. Per ulteriori informazioni sull'installazione di pacchetti
in Dataform, consulta Installare un pacchetto in Dataform.
Timeout dell'installazione del pacchetto
Il seguente errore si verifica quando la dimensione dei pacchetti definita 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 NPM definite non superi i 200 Mb.
Se le configurazioni di release fanno riferimento a commit Git, assicurati che i file package.json
nei relativi target siano validi.
Impossibile raggiungere il registro di pacchetti privato
Il seguente errore si verifica quando scade l'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 di Gestione dei partner di rete. Per maggiori informazioni, vedi Autenticare un pacchetto privato in Dataform.
Impossibile raggiungere il repository remoto
Il seguente errore si verifica a causa di un errore di Git o quando un nome di ramo nel repository Git di terze parti connesso contiene un carattere non in formato ASCII o non in 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 anglofono, elimina il ramo.
Impossibile raggiungere il repository remoto: generic::invalid_argument
Il seguente errore si verifica nella pagina Dettagli configurazioni release quando una release pianificata incontra occasionalmente 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 i problemi di GitHub, GitLab o Bitbucket Cloud non vengano risolti, le release pianificate successive possono essere corrette.
Impossibile raggiungere il secret per un repository remoto
Il seguente errore si verifica quando il tuo account di servizio Dataform non può 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 tuo perimetro di servizio VPC-SC. Al momento Dataform non supporta VPC-SC.