Resolver problemas do Dataform

Neste documento, mostramos como resolver problemas com o Dataform.

Acesso negado ao BigQuery

O erro a seguir ocorre quando você aciona uma invocação de fluxo de trabalho antes de conceder ao Dataform acesso ao BigQuery:

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

Para resolver esse erro, conceda ao Dataform acesso ao BigQuery.

O token de acesso de um repositório remoto foi rejeitado

O erro a seguir ocorre quando o token de autenticação de um repositório de terceiros conectado não tem acesso a ele:

The access token for remote repository REPOSITORY_NAME was rejected

Para resolver esse erro, verifique as permissões necessárias no seu provedor Git e atualize o token de autenticação do Secret Manager corretamente. Para mais informações sobre como autenticar repositórios Git de terceiros no Dataform, consulte Conectar-se a um repositório Git de terceiros.

A cota do BigQuery foi excedida

O erro a seguir ocorre quando o número de solicitações de API que o Dataform envia para o BigQuery excede a cota do BigQuery:

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

Para resolver esse erro, reduza o número de consultas paralelas para menos de 250 das seguintes maneiras:

Para instruções sobre como resolver esse erro no BigQuery, consulte Resolver problemas de cota e de limite.

O limite de simultaneidade de consulta do BigQuery foi excedido

O erro a seguir ocorre quando o número de consultas simultâneas executadas no BigQuery excede o limite de simultaneidade de consulta do BigQuery:

Exceeded rate limits: too many concurrent queries for this project_and_region

Para resolver esse erro, reduza o número de consultas paralelas para menos de 250 das seguintes maneiras:

Para instruções sobre como resolver esse erro no BigQuery, consulte Resolver problemas de cota e de limite.

Erros de invocação do fluxo de trabalho do BigQuery

Os erros a seguir ocorrem durante a execução de um fluxo de trabalho SQL no BigQuery:

Para resolver esses erros, consulte Mensagens de erro do BigQuery.

Propriedades includeDependentAssertions conflitantes

O erro abaixo ocorre durante a compilação quando o parâmetro includeDependentAssertions é definido para a mesma ação com valores diferentes em um arquivo:

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

Para resolver esse erro, edite o arquivo e remova repetições conflitantes do parâmetro includeDependentAssertions.

Para saber mais sobre como usar o parâmetro includeDependentAssertions para definir declarações como dependências, consulte Definir declarações de uma ação selecionada como dependências.

Falha na compilação

Os seguintes erros ocorrem durante a compilação devido ao tamanho ou ao número 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 esses erros, siga estas etapas:

  1. Atualize o Dataform Core para a versão mais recente.
  2. Inspecione seu fluxo de trabalho SQL para identificar e reduzir ineficiências.
  3. Reduza o tamanho das consultas SQL.
  4. Reduza a quantidade de operações JavaScript na memória, por exemplo:

    config { config {type: "table" }}
    js {
        const tooBig = new Uint8Array(110_000_000);
    }
    SELECT ...
    
  5. Divida o repositório.

Para mais informações sobre limites de recursos de compilação do Dataform, consulte Cotas e limites.

@dataform/core erro de dependência

Os erros abaixo vão ocorrer durante a compilação se a dependência dataform-core em package.json estiver desatualizada:

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

A dependência @dataform/core é necessária na package.json. Quando você inicializa o primeiro espaço de trabalho no seu repositório, o Dataform preenche automaticamente package.json com a versão atual de @dataform/core. É necessário atualizar o @dataform/core para a versão mais recente assim que ela for lançada.

Para resolver esses erros, atualize @dataform/core para a versão mais recente.

Falha ao resolver dataform.json

O erro a seguir ocorre quando você inicializa um espaço de trabalho do Dataform, mas o processo de inicialização falha ao instalar todos os pacotes:

Uncaught Error: Failed to resolve dataform.json

Para resolver esse erro, no espaço de trabalho, abra package.json e clique em Install packages.

Falha ao resolver workflow_settings.yaml

O erro a seguir ocorre quando você inicializa um espaço de trabalho do Dataform, mas o processo de inicialização falha ao instalar todos os pacotes:

Uncaught Error: Failed to resolve workflow_settings.yaml

Para resolver esse erro, no espaço de trabalho, abra workflow_settings.yaml e clique em Install packages.

git+ destino de pacote não tem suporte

O erro a seguir ocorre quando você define pacotes em package.json com destinos prefixados com git+:

'git+' prefixed package targets are not currently supported. However,
in most cases they can be used via a '.tar.gz' suffixed target instead.

O Dataform não oferece suporte a destinos de pacotes com o prefixo git+.

Para resolver esse erro, gere um URL tar.gz do pacote e atualize o destino em package.json. Para mais informações sobre como instalar pacotes no Dataform, consulte Instalar um pacote no Dataform.

A instalação do pacote expira em

O erro a seguir ocorre quando o tamanho dos pacotes definidos em package.json excede o tamanho máximo de dependências do NPM:

API request error: Package installation timed out

Para resolver esse erro, remova pacotes redundantes de package.json. Verifique se o arquivo package.json não contém @dataform/cli e se o tamanho total das dependências definidas do NPM não excede 200 MB.

Se as configurações de lançamento referem-se a commits do Git, verifique se os arquivos package.json nos destinos são válidos.

Não foi possível acessar o registro de pacote particular

O erro a seguir ocorre quando a autenticação do Dataform para um pacote particular expira:

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

Para resolver esse erro, verifique se os detalhes de autenticação do registro particular são válidos para cada registro do NPM. Para mais informações, consulte Autenticar um pacote particular no Dataform.

Não é possível acessar o repositório remoto

O erro a seguir ocorre devido à inconsistência do Git ou quando um nome de ramificação no repositório Git de terceiros conectado contém um caractere não ASCII ou diferente do inglês:

Remote repository REPOSITORY_NAME could not be reached.

Para resolver esse erro, inspecione os nomes de ramificação no repositório de terceiros conectado. Se o nome de uma ramificação tiver um caractere não ASCII ou não inglês, exclua-o.

Não foi possível acessar o repositório remoto: generic::invalid_argument

O erro a seguir ocorre na página Detalhes das configurações de versão quando uma versão programada encontra ocasionalmente uma conexão lenta, instável ou descartada do GitHub, do GitLab ou do Bitbucket:

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

Não é necessário fazer nada. A menos que os problemas do GitHub, GitLab ou Bitbucket Cloud persistam, os lançamentos programados subsequentes podem ser bem-sucedidos.

O secret de um repositório remoto não pode ser acessado

O erro a seguir ocorre quando a conta de serviço do Dataform não consegue acessar o secret do Secret Manager para um repositório de terceiros 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 esse erro, faça o seguinte:

  • Verifique se sua conta de serviço do Dataform tem acesso ao secret.
  • Exclua o secret do perímetro de serviço do VPC-SC. No momento, o Dataform não é compatível com o VPC-SC.