Soluciona problemas de Dataform

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

Se deniega el acceso a BigQuery

El siguiente error ocurre cuando activas una invocación de flujo de trabajo antes de otorgar acceso de 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 de Dataform a BigQuery.

Se rechaza el token de acceso de un repositorio remoto

El siguiente error ocurre cuando tu token de autenticación para un repositorio externo 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 Cómo conectarse 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 la cantidad de consultas en paralelo a menos de 250 de las siguientes maneras:

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

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

El siguiente error se produce 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 la cantidad de consultas en paralelo a menos de 250 de las siguientes maneras:

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

Errores de invocación de flujos 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 se establece 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.

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

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 resolver estos errores, sigue estos pasos:

  1. Actualiza el núcleo de Dataform 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 de 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 ocurren durante la compilación si la dependencia de 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 salga.

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

No se pudo resolver dataform.json

El siguiente error ocurre cuando inicializas un espacio 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 espacio de trabajo, abre package.json y haz clic en Install packages.

No se pudo resolver workflow_settings.yaml

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

Uncaught Error: Failed to resolve workflow_settings.yaml

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

No se admiten los destinos de paquetes git+.

El siguiente error ocurre cuando defines paquetes en package.json con objetivos 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 de tar.gz del paquete y actualiza el objetivo del paquete en package.json. Para obtener más información sobre la instalación de paquetes en Dataform, consulta Cómo instalar un paquete.

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

El siguiente error ocurre 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 tus parámetros de configuración de lanzamiento hacen referencia a confirmaciones de Git, asegúrate de que los archivos package.json en sus destinos sean válidos.

No se puede acceder al registro de paquetes privados

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 Cómo autenticar un paquete privado.

No se puede acceder al repositorio remoto

El siguiente error se produce debido a la inestabilidad 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 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 no es en inglés, borra la rama.

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

El siguiente error se produce en la página Detalles de la configuración de la versión cuando una versión programada ocasionalmente encuentra una conexión lenta, inestable o caída con 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 persistan los problemas de GitHub, GitLab o Bitbucket Cloud, las versiones programadas posteriores pueden realizarse correctamente.

No se puede acceder al Secret de un repositorio remoto

El siguiente error ocurre cuando tu cuenta de servicio de Dataform no puede acceder al 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 de tu perímetro de servicio de VPC-SC. Dataform no es compatible con VPC-SC en este momento.

Argumento desconocido: etiquetas

El siguiente error ocurre cuando tu versión de la CLI de Dataform no reconoce el argumento tags:

Unknown argument: tags

Para resolver este error, haz lo siguiente:

  • Actualiza la versión de la CLI a 3.0.0 o una posterior. Siempre prueba las versiones nuevas de los paquetes en un entorno que no sea de producción antes de implementarlas en tu entorno de producción.
  • Como práctica recomendada, siempre usa la versión más reciente disponible del paquete principal de Dataform.
  • Especifica de forma explícita la versión del paquete en package.json, por ejemplo, 3.0.0. No uses otras opciones dependencies de package.json, por ejemplo, >version.