Solução de problemas

Neste documento, mostramos como resolver problemas com o Dataform.

O acesso ao BigQuery foi negado

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 esse repositório:

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 ao 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 saber como resolver esse erro no BigQuery, consulte Resolver erros de cota e limite.

O limite de simultaneidade de consultas 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 consultas:

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 saber como resolver esse erro no BigQuery, consulte Resolver erros de cota e 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 as mensagens de erro do BigQuery.

A compilação está falhando

Os erros abaixo ocorrem durante a compilação devido ao tamanho ou 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. Inspecione seu fluxo de trabalho SQL para identificar e reduzir ineficiências.
  2. Reduzir o tamanho das consultas SQL.
  3. 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 ...
    
  4. Divida o repositório.

Para saber mais sobre os limites de recursos de compilação do Dataform, consulte Cotas e limites.

Erros de dependência principal do Dataform

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

  • Failed to resolve @dataform/core
  • @dataform/core version should be 2.3.2 or newer

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

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

Os destinos de pacote git+ não são compatíveis

O erro a seguir ocorre quando você define pacotes em packages.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.
```

No momento, o Dataform não é compatível com destinos de pacotes prefixados com git+.

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

A instalação do pacote expira

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

API request error: Package installation timed out

Para resolver esse erro, remova os 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 NPM definidas não excede 200 Mb.

Se as configurações de versão referenciam confirmações do Git, verifique se os arquivos package.json nos destinos são válidos.

Não é 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 foi possível acessar o repositório remoto

O erro a seguir ocorre quando o nome de uma ramificação no repositório Git de terceiros conectado contém um caractere que não é ASCII ou não inglês:

Remote repository REPOSITORY_NAME could not be reached.

Para resolver esse erro, inspecione os nomes das ramificações no repositório de terceiros conectado. Se o nome de um branch contiver um caractere que não seja ASCII ou 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 da versão quando uma versão programada encontra, às vezes, uma conexão lenta, instável ou descartada do GitHub, do GitLab ou do Bitbucket Cloud:

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

Nenhuma ação é necessária. A menos que os problemas do GitHub, do GitLab ou do Bitbucket Cloud persistam, as versões programadas subsequentes poderão ser bem-sucedidas.

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

O erro a seguir ocorre quando a conta de serviço do Dataform não consegue acessar o secret do Secret Manager de 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.