Resolver problemas do Dataform

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 para um repositório remoto foi rejeitado

O erro a seguir ocorre quando seu token de autenticação para 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. Para mais informações sobre como autenticar repositórios Git de terceiros no Dataform, consulte Conectar 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 instruções sobre como resolver esse erro no BigQuery, consulte Solucionar 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 dele:

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 Solucionar 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 Mensagens de erro do BigQuery.

A compilação está falhando

Os erros abaixo 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. Reduzir 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 saber mais sobre os limites de recursos de compilação do Dataform, consulte Cotas e limites.

Erros de dependência @dataform/core

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 no package.json. Quando você inicializa o primeiro espaço de trabalho no repositório, o Dataform preenche automaticamente package.json com a versão atual do @dataform/core. Você precisa atualizar o app @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 seu espaço de trabalho, abra package.json e clique em Instalar pacotes.

Os destinos de pacote git+ não têm 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 do pacote em package.json. Para mais informações sobre como instalar pacotes no Dataform, consulte Instalar um pacote no Dataform.

A instalação do pacote expirou

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 os pacotes redundantes do package.json. Verifique se o arquivo package.json não contém @dataform/cli e se o tamanho total das dependências do NPM definidas não excede 200 MB.

Se as configurações de versão fizerem referência a confirmações 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 foi 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 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 uma ramificação contiver um caractere ASCII ou não inglês, exclua o branch.

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, de vez em quando, uma conexão lenta, instável ou interrompida 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. As versões programadas subsequentes poderão ser bem-sucedidas, a menos que os problemas do GitHub, do GitLab ou do Bitbucket Cloud sejam mantidos.

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

O erro a seguir ocorre quando sua 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.
  • Excluir o secret do perímetro de serviço do VPC-SC No momento, o Dataform não é compatível com o VPC-SC.