Soluciona problemas de Dataform

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

Se denegó el acceso a BigQuery

El siguiente error ocurre 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 se produce 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 la autenticación de 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 envía Dataform 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 la cantidad de consultas paralelas a menos de 250 de las siguientes maneras:

Si deseas 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 ejecutadas 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 la cantidad de consultas paralelas a menos de 250 de las siguientes maneras:

Si deseas 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 ocurren durante la ejecución de un flujo de trabajo de SQL en BigQuery:

Para resolver estos errores, consulta Mensajes de error de BigQuery.

Propiedades includeDependentAssertions en conflicto

El siguiente error se produce durante la compilación cuando el parámetro includeDependentAssertions está configurado para la misma acción con diferentes valores dentro de un archivo:

Conflicting "includeDependentAssertions" properties are not allowed. Dependency
dependencyName has different values set for this property.

Para resolver este error, edita el archivo y quita las repeticiones en conflicto del parámetro includeDependentAssertions.

Si quieres obtener más información sobre el uso del parámetro includeDependentAssertions para configurar las aserciones como dependencias, consulta Cómo configurar las aserciones de una acción seleccionada como dependencias.

Falla la compilación

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 Dataform core a la versión más reciente.
  2. Inspecciona tu flujo de trabajo de 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 recursos de compilación de Dataform, consulta Cuotas y límites.

@dataform/core errores 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

Se requiere la dependencia @dataform/core 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 cuando esté disponible.

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

No se pudo resolver workflow_settings.yaml

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

Uncaught Error: Failed to resolve workflow_settings.yaml

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

No se admiten los destinos de paquete git+

El siguiente error ocurre 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 objetivos 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 Cómo instalar un paquete en Dataform.

Se agota el tiempo de espera de instalación del paquete

El siguiente error se produce cuando el tamaño de los paquetes definidos 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 de que el tamaño total de las dependencias de NPM definidas no supere los 200 MB.

Si las configuraciones de lanzamiento hacen referencia a compromisos 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 ocurre 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

Para 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 la fragilidad 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 o que no es 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 que no es inglés, borra la rama.

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

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

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

No es necesario realizar ninguna acción. A menos que los problemas de GitHub, GitLab o Bitbucket Cloud persistan, las versiones programadas posteriores pueden ser exitosas.

No se puede acceder al secreto de un repositorio remoto

El siguiente error ocurre cuando tu cuenta de servicio de Dataform no puede acceder al secreto de Secret Manager para 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 Secret del perímetro de servicio de VPC-SC. Por el momento, Dataform no admite VPC-SC.