Résoudre les problèmes liés à Dataform

Ce document vous explique comment résoudre les problèmes liés à Dataform.

L'accès à BigQuery est refusé

L'erreur suivante se produit lorsque vous déclenchez un appel de workflow avant d'accorder à Dataform l'accès à BigQuery:

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

Pour résoudre cette erreur, accordez à Dataform l'accès à BigQuery.

Le jeton d'accès d'un dépôt distant a été refusé

L'erreur suivante se produit lorsque le jeton d'authentification d'un dépôt tiers connecté n'a pas accès à ce dépôt:

The access token for remote repository REPOSITORY_NAME was rejected

Pour résoudre cette erreur, vérifiez les autorisations requises dans votre fournisseur Git et mettez à jour le jeton d'authentification Secret Manager en conséquence. Pour en savoir plus sur l'authentification des dépôts Git tiers dans Dataform, consultez la section Se connecter à un dépôt Git tiers.

Quota BigQuery dépassé

L'erreur suivante se produit lorsque le nombre de requêtes API envoyées par Dataform à BigQuery dépasse le quota BigQuery:

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

Pour résoudre cette erreur, réduisez le nombre de requêtes parallèles à moins de 250 comme suit:

Pour savoir comment résoudre cette erreur dans BigQuery, consultez la page Résoudre les erreurs de quota et de limite.

La limite de simultanéité des requêtes BigQuery est dépassée

L'erreur suivante se produit lorsque le nombre de requêtes simultanées exécutées vers BigQuery dépasse la limite de simultanéité des requêtes BigQuery:

Exceeded rate limits: too many concurrent queries for this project_and_region

Pour résoudre cette erreur, réduisez le nombre de requêtes parallèles à moins de 250 comme suit:

Pour savoir comment résoudre cette erreur dans BigQuery, consultez la page Résoudre les erreurs de quota et de limite.

Erreurs d'appel du workflow BigQuery

Les erreurs suivantes se produisent lors de l'exécution d'un workflow SQL vers BigQuery:

Pour résoudre ces erreurs, consultez Messages d'erreur BigQuery.

Échec de la compilation

Les erreurs suivantes se produisent lors de la compilation en raison de la taille ou du nombre de requêtes compilées:

  • 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.

Pour résoudre ces erreurs, procédez comme suit:

  1. Mettez à jour Dataform Core vers la dernière version.
  2. Inspectez votre workflow SQL pour identifier et réduire les inefficacités.
  3. Réduisez la taille des requêtes SQL.
  4. Réduisez la quantité d'opérations JavaScript en mémoire, par exemple:

    config { config {type: "table" }}
    js {
        const tooBig = new Uint8Array(110_000_000);
    }
    SELECT ...
    
  5. Divisez le dépôt.

Pour en savoir plus sur les limites des ressources de compilation Dataform, consultez la page Quotas et limites.

@dataform/core erreurs de dépendance

Les erreurs suivantes se produisent lors de la compilation si la dépendance dataform-core dans package.json est obsolète:

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

La dépendance @dataform/core est requise dans package.json. Lorsque vous initialisez le premier espace de travail de votre dépôt, Dataform remplit automatiquement package.json avec la version actuelle de @dataform/core. Vous devez installer la dernière version de @dataform/core dès qu'elle sera disponible.

Pour résoudre ces erreurs, mettez à jour @dataform/core vers la dernière version.

Échec de la résolution de dataform.json

L'erreur suivante se produit lorsque vous initialisez un espace de travail Dataform, mais que le processus d'initialisation ne parvient pas à installer tous les packages:

Uncaught Error: Failed to resolve dataform.json

Pour résoudre cette erreur, dans votre espace de travail, ouvrez package.json et cliquez sur Installer les packages.

git+ cibles de packages ne sont pas compatibles

L'erreur suivante se produit lorsque vous définissez des packages dans package.json avec des cibles précédées de 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 n'est pas compatible avec les cibles de packages précédés de git+.

Pour résoudre cette erreur, générez une URL tar.gz du package et mettez à jour la cible du package dans package.json. Pour en savoir plus sur l'installation de packages dans Dataform, consultez la page Installer un package dans Dataform.

L'installation du package a expiré

L'erreur suivante se produit lorsque la taille des packages définie dans package.json dépasse la taille maximale des dépendances NPM:

API request error: Package installation timed out

Pour résoudre cette erreur, supprimez les packages redondants de package.json. Assurez-vous que le fichier package.json ne contient pas @dataform/cli et que la taille totale des dépendances NPM définies ne dépasse pas 200 Mo.

Si vos configurations de version font référence à des commits Git, assurez-vous que les fichiers package.json au niveau de leurs cibles sont valides.

Impossible d'accéder au registre de packages privés

L'erreur suivante se produit lorsque l'authentification Dataform expire pour un package privé:

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

Pour résoudre cette erreur, vérifiez que les informations d'authentification du registre privé sont valides pour chaque registre NPM. Pour en savoir plus, consultez la page Authentifier un package privé dans Dataform.

Impossible d'accéder au dépôt distant

L'erreur suivante se produit en raison d'une faille dans Git ou lorsqu'un nom de branche dans le dépôt Git tiers connecté contient un caractère non ASCII ou non anglais:

Remote repository REPOSITORY_NAME could not be reached.

Pour résoudre cette erreur, inspectez les noms de branche dans le dépôt tiers connecté. Si un nom de branche contient un caractère non ASCII ou non anglais, supprimez la branche.

Impossible d'accéder au dépôt distant: generic::invalid_argument

L'erreur suivante se produit sur la page Informations sur les configurations de version lorsqu'une version planifiée rencontre parfois une connexion GitHub, GitLab ou Bitbucket lente, irrégulière ou abandonnée:

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

Aucune action n'est requise de votre part. À moins que les problèmes liés à GitHub, GitLab ou Bitbucket Cloud ne persistent, les versions planifiées suivantes peuvent réussir.

Impossible d'accéder au secret d'un dépôt distant

L'erreur suivante se produit lorsque votre compte de service Dataform ne peut pas accéder à votre secret Secret Manager pour un dépôt tiers connecté:

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.

Pour résoudre cette erreur, procédez comme suit :

  • Vérifiez que votre compte de service Dataform a accès au secret.
  • Excluez le secret de votre périmètre de service VPC-SC. Dataform n'est pas compatible avec VPC-SC pour le moment.