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 acesso ao Dataform ao BigQuery:
Access Denied: Project PROJECT_ID: User does not have bigquery.jobs.create permission in project PROJECT_ID.
Para resolver esse erro, conceda acesso ao Dataform ao BigQuery.
O token de acesso de um repositório remoto é 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 do Git e atualize o token de autenticação do Secret Manager de acordo. Para mais informações sobre como autenticar repositórios do Git de terceiros no Dataform, consulte Conectar-se a um repositório do 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:
- No Dataform, categorize ações com tags e execute apenas as tags selecionadas de cada vez.
- No Dataform, apresente dependências entre ações.
- No Dataform, divida as execuções de ações entre diferentes projetosGoogle Cloud .
Para instruções sobre 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 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:
- No Dataform, categorize ações com tags e execute apenas as tags selecionadas por vez.
- No Dataform, apresente dependências entre ações.
- No Dataform, divida as execuções de ações entre diferentes projetosGoogle Cloud .
Para instruções sobre como resolver esse erro no BigQuery, consulte Resolver erros de cota e limite.
Erros de invocação de fluxo de trabalho do BigQuery
Os seguintes erros ocorrem durante a execução de um fluxo de trabalho SQL no BigQuery:
- Erros de invocação de fluxo de trabalho que começam com Mensagens de erro do BigQuery.
Para resolver esses erros, consulte Mensagens de erro do BigQuery.
Propriedades includeDependentAssertions
conflitantes
O erro a seguir 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 as repetições conflitantes do parâmetro
includeDependentAssertions
.
Para mais informações 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.
A compilação está falhando
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:
- Atualize o núcleo do Dataform para a versão mais recente.
- Inspecione seu fluxo de trabalho do SQL para identificar e reduzir ineficiências.
- Reduza o tamanho das consultas SQL.
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 ...
Para mais informações sobre os limites de recursos de compilação do Dataform, consulte Cotas e limites.
@dataform/core
erros de dependência
Os seguintes erros ocorrem durante a compilação se a dependência de 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
é obrigató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 de
@dataform/core
. Você precisa atualizar o @dataform/core
para a versão mais recente assim que
ela for lançada.
Para resolver esses erros, atualize o @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, abra package.json
no seu espaço de trabalho
e clique em Instalar pacotes.
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, abra workflow_settings.yaml
no seu espaço de trabalho e
clique em Instalar pacotes.
Os destinos de pacotes git+
não são compatíveis
O erro a seguir ocorre quando você define pacotes em package.json
com
alvos com prefixo 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 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.
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 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 lançamento
se referirem a confirmações do Git, verifique se os arquivos package.json
nos
destinos são válidos.
Não é possível acessar o registro de pacotes particular
O seguinte erro ocorre quando a autenticação do Dataform para um pacote privado 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 privado.
Não foi possível acessar o repositório remoto
O erro a seguir ocorre devido à instabilidade 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 de ramificação no repositório de terceiros conectado. Se um nome de ramificação tiver um caractere não ASCII ou não inglês, exclua a ramificaçã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 lançamento quando uma versão programada ocasionalmente encontra uma conexão lenta, instável ou perdida 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, do GitLab ou do Bitbucket Cloud persistam, as versões programadas subsequentes podem ser bem-sucedidas.
Não foi possível acessar o secret de um repositório remoto
O seguinte erro 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 a conta de serviço do Dataform tem acesso ao secret.
- Exclua o segredo do perímetro de serviço do VPC-SC. O Dataform não é compatível com o VPC-SC no momento.
Argumento desconhecido: tags
O erro a seguir ocorre quando sua versão da
CLI do Dataform
não reconhece o argumento tags
:
Unknown argument: tags
Para resolver esse erro, faça o seguinte:
- Atualize a versão da
CLI
para
3.0.0
ou mais recente. Sempre teste novas versões de pacotes em um ambiente de não produção antes de implantar no ambiente de produção. - Como prática recomendada, sempre use a versão mais recente disponível do pacote principal do Dataform.
- Especifique explicitamente a versão do pacote em
package.json
, por exemplo,3.0.0
. Não use outras opçõesdependencies
depackage.json
, por exemplo,>version
.