Soluciona problemas de Dataform

En este documento, se muestra cómo resolver problemas con Dataform.

Se denegó el acceso a BigQuery

El siguiente error se produce cuando activas una invocación de flujo de trabajo antes de otorgar acceso a Dataform a BigQuery:

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

Para resolver este error, otorga acceso a Dataform a BigQuery.

Se rechazó el token de acceso para un repositorio remoto

El siguiente error ocurre cuando tu token de autenticación para un repositorio de terceros conectado no tiene acceso a ese repositorio:

The access token for remote repository REPOSITORY_NAME was rejected

Para resolver este error, verifica los permisos necesarios en tu proveedor de Git y actualiza el token de autenticación de Secret Manager según corresponda. Para obtener más información sobre cómo autenticar repositorios de Git de terceros en Dataform, consulta Conéctate a un repositorio de Git de terceros.

Se superó la cuota de BigQuery

El siguiente error ocurre cuando la cantidad de solicitudes a la API que Dataform envía a BigQuery supera la cuota de BigQuery:

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

Para resolver este error, reduce el número de consultas paralelas a menos de 250 de las siguientes maneras:

Si quieres obtener instrucciones para resolver este error en BigQuery, consulta Soluciona problemas de cuota y de límite.

Se superó el límite de simultaneidad de consultas de BigQuery

El siguiente error ocurre cuando la cantidad de consultas simultáneas que se ejecutan en BigQuery supera el límite de simultaneidad de consultas de BigQuery:

Exceeded rate limits: too many concurrent queries for this project_and_region

Para resolver este error, reduce el número de consultas paralelas a menos de 250 de las siguientes maneras:

Si quieres obtener instrucciones para resolver este error en BigQuery, consulta Soluciona problemas de cuota y de límite.

Errores de invocación del flujo de trabajo de BigQuery

Los siguientes errores se producen durante la ejecución de un flujo de trabajo de SQL en BigQuery:

Para resolverlos, consulta Mensajes de error de BigQuery.

La compilación falla

Los siguientes errores se producen durante la compilación debido al tamaño o la cantidad de consultas compiladas:

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

Para solucionar estos errores, sigue estos pasos:

  1. Actualiza el núcleo de Dataform a la versión más reciente.
  2. Inspecciona el flujo de trabajo en SQL para identificar y reducir las ineficiencias.
  3. Reduce el tamaño de las consultas en SQL.
  4. Reduce la cantidad de operaciones de JavaScript en la memoria, por ejemplo:

    config { config {type: "table" }}
    js {
        const tooBig = new Uint8Array(110_000_000);
    }
    SELECT ...
    
  5. Divide el repositorio.

Para obtener más información sobre los límites de los recursos de compilación de Dataform, consulta Cuotas y límites.

@dataform/core error de dependencia

Los siguientes errores se producen durante la compilación si la dependencia dataform-core en package.json está desactualizada:

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

La dependencia @dataform/core es obligatoria en package.json. Cuando inicializas el primer lugar de trabajo en tu repositorio, Dataform propaga automáticamente package.json con la versión actual de @dataform/core. Debes actualizar @dataform/core a la versión más reciente a medida que se lance.

Para resolver estos errores, actualiza @dataform/core a la versión más reciente.

Error al resolver dataform.json

El siguiente error ocurre cuando inicializas un lugar de trabajo de Dataform, pero el proceso de inicialización no instala todos los paquetes:

Uncaught Error: Failed to resolve dataform.json

Para resolver este error, en tu lugar de trabajo, abre package.json y haz clic en Install packages.

No se admiten git+ destinos de paquete

El siguiente error se produce cuando defines paquetes en package.json con destinos con el prefijo 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 no admite destinos de paquetes con el prefijo git+.

Para resolver este error, genera una URL tar.gz del paquete y actualiza el destino del paquete en package.json. Si quieres obtener más información para instalar paquetes en Dataform, consulta Instala un paquete en Dataform.

Se agotó el tiempo de espera de la instalación del paquete

El siguiente error se produce cuando el tamaño de los paquetes definido en package.json supera el tamaño máximo de las dependencias de NPM:

API request error: Package installation timed out

Para resolver este error, quita los paquetes redundantes de package.json. Asegúrate de que el archivo package.json no contenga @dataform/cli y que el tamaño total de las dependencias de NPM definidas no supere los 200 MB.

Si los parámetros de configuración de lanzamiento hacen referencia a los comités de Git, asegúrate de que los archivos package.json en sus destinos sean válidos.

No se puede acceder al registro de paquetes privado

El siguiente error se produce cuando vence la autenticación de Dataform para un paquete privado:

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

A fin de resolver este error, verifica que los detalles de autenticación del registro privado sean válidos para cada registro de NPM. Para obtener más información, consulta Autentica un paquete privado en Dataform.

No se puede acceder al repositorio remoto

El siguiente error se produce debido a una vulnerabilidades de Git o cuando el nombre de una rama en el repositorio de Git de terceros conectado contiene un carácter que no es ASCII ni del inglés:

Remote repository REPOSITORY_NAME could not be reached.

Para resolver este error, inspecciona los nombres de las ramas en el repositorio de terceros conectado. Si el nombre de una rama contiene un carácter que no es ASCII o del inglés, bórrala.

No se puede acceder al repositorio remoto: generic::invalid_argument

El siguiente error ocurre en la página Detalles de la configuración de la versión cuando una actualización programada a veces encuentra una conexión lenta, inestable o caída de GitHub, GitLab o Bitbucket:

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

No es necesario que realices ninguna acción. A menos que los problemas de GitHub, GitLab o Bitbucket Cloud persistan, las versiones programadas posteriores pueden tener éxito.

No se puede acceder al Secret de un repositorio remoto

El siguiente error ocurre cuando tu cuenta de servicio de Dataform no puede acceder a tu secreto de Secret Manager de un repositorio de terceros conectado:

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.

Para resolver este error, haz lo siguiente:

  • Verifica que tu cuenta de servicio de Dataform tenga acceso al secreto.
  • Excluye el secreto del perímetro de servicio de VPC-SC. Dataform no es compatible con VPC-SC en este momento.