Resolva problemas de configurações de transferência
Este documento destina-se a ajudar a resolver os problemas mais comuns encontrados ao configurar uma transferência do Serviço de transferência de dados do BigQuery. Este documento não abrange todas as possíveis mensagens de erro ou problemas.
Se estiver a ter problemas que não são abordados neste documento, pode pedir apoio técnico.
Antes de contactar o apoio técnico ao cliente da Google Cloud, capture a configuração de transferência e os detalhes da execução da transferência. Para ver informações sobre como obter estes detalhes, consulte os artigos Obtenha detalhes da transferência e Veja os detalhes da execução da transferência e as mensagens de registo.
Examine os erros
Se a execução da transferência inicial falhar, pode examinar os detalhes no histórico de execuções. Os erros indicados no histórico de execuções podem ajudar a identificar uma resolução adequada através deste documento.
Também pode ver mensagens de erro para uma tarefa de transferência específica através do Explorador de registos. O filtro do Explorador de registos seguinte devolve informações sobre uma tarefa de configuração de transferência específica, juntamente com quaisquer mensagens de erro:
resource.type="bigquery_dts_config"
labels.run_id="RUN_ID"
resource.labels.config_id="CONFIG_ID"
Substitua o seguinte:
RUN_ID: o número de ID de uma execução de tarefa específicaCONFIG_ID: o número de ID de uma tarefa de configuração de transferência
Antes de contactar o apoio ao cliente, capture todas as informações relevantes do histórico de execuções ou do Explorador de registos, incluindo mensagens de erro.
Se usar transferências orientadas por eventos, a configuração de transferência orientada por eventos pode não acionar uma execução de transferência. Pode ver mensagens de erro na parte superior da página Histórico de execuções ou da página de configuração.
Problemas gerais
Quando diagnosticar problemas gerais de transferência, verifique o seguinte:
- Verifique se concluiu todos os passos na secção "Antes de começar" da página de documentação do seu tipo de transferência.
- As propriedades de configuração da transferência estão corretas.
- A conta de utilizador usada para criar a transferência tem acesso aos recursos subjacentes.
Se a configuração de transferência estiver correta e as autorizações adequadas tiverem sido concedidas, consulte o seguinte para ver soluções para problemas encontrados com frequência.
- Erro:
An unexpected issue was encountered. If this issue persists, please contact customer support. - Resolução: normalmente, este erro indica uma indisponibilidade temporária ou um problema no BigQuery. Aguarde aproximadamente 2 horas para que o problema seja resolvido. Se o problema persistir, peça apoio técnico.
- Erro:
INTERNAL: An internal error occurred and the request could not be completed. This is usually caused by a transient issue... - Resolução: normalmente, este erro indica um problema interno temporário. Se encontrar este erro, pode aguardar para ver se é resolvido na próxima execução agendada ou pode acionar manualmente um preenchimento para as datas afetadas. Se o problema persistir, peça apoio técnico.
- Erro:
Quota Exceeded. Resolução: as transferências estão sujeitas a quotas do BigQuery em tarefas de carregamento. Se precisar de aumentar a sua quota, contacte o seu Cloud de Confiance by S3NS representante de vendas. Para mais informações, consulte o artigo Quotas e limites.
Se estiver a carregar exportações da faturação do Google Cloud para o BigQuery, pode encontrar o erro
Quota Exceeded. As tabelas de exportação da Faturação na nuvem e as tabelas de destino do BigQuery criadas pelo serviço de transferência de dados do BigQuery são particionadas. A escolha da opção substituir ao definir essas tarefas do Serviço de transferência de dados do BigQuery causa erros de quota, consoante a quantidade de dados exportados. Para obter informações sobre a resolução de problemas de quotas, consulte o artigo Resolva problemas de erros de quotas e limites.Se o erro for devido a tarefas do Serviço de transferência de dados do BigQuery para exportações da Cloud Billing, tenha em atenção que, uma vez que as tabelas de exportação da Cloud Billing individuais estão particionadas, o mesmo acontece com a tabela de destino criada pelo Serviço de transferência de dados do BigQuery. Por conseguinte, a escolha da opção sobrescrever ao configurar essas tarefas de transferência de dados vai resultar em erros de quota (DML), consoante a antiguidade das contas de faturação. Para obter informações sobre a resolução de problemas de quotas, consulte o artigo Resolva problemas de erros de quotas e limites.
- Erro:
The caller does not have permission. Resolução: confirme se a conta com sessão iniciada na Cloud de Confiance consola é a mesma que seleciona para o Serviço de transferência de dados do BigQuery quando cria a transferência.
Conta com sessão iniciada na Cloud de Confiance consola:
Escolha uma conta para continuar para o Serviço de transferência de dados do BigQuery:
- Erro:
Access Denied: ... Permission bigquery.tables.get denied on table ... Resolução: confirme que o agente de serviço do Serviço de transferência de dados do BigQuery tem a função
bigquery.dataEditorno conjunto de dados de destino. Esta concessão é aplicada automaticamente quando cria e atualiza a transferência, mas é possível que a política de acesso tenha sido modificada manualmente depois. Para conceder novamente a autorização, consulte o artigo Conceda acesso a um conjunto de dados.- Erro:
region violates constraint constraints/gcp.resourceLocations on the resource projects/project_id Resolução: este erro ocorre quando um utilizador tenta criar uma configuração de transferência numa localização restrita, conforme especificado na política organizacional de restrição de localização. Pode resolver este problema alterando a política da organização para permitir a região ou alterando a configuração de transferência para um conjunto de dados de destino localizado numa região não restrita pela política da organização.
- Erro:
Please look into the errors[] collection for more details. Resolução: este erro pode ocorrer quando uma transferência de dados falha. Para mais informações sobre o motivo pelo qual a transferência de dados falhou, pode usar o Cloud Logging para ver os seus registos. Pode encontrar registos de uma execução específica pesquisando através da transferência
run_id.- Erro:
Network Attachment with connected endpoints cannot be deleted. Resolução: este erro pode ocorrer quando um utilizador tenta eliminar os anexos de rede pouco depois de eliminar a transferência. Isto acontece porque podem decorrer vários dias após a eliminação de uma transferência antes de o BigQuery Data Transfer Service poder remover totalmente todos os recursos associados à transferência, o que pode impedir a eliminação das associações de rede. Para resolver este erro, aguarde vários dias antes de tentar eliminar as associações de rede. Se quiser que os anexos de rede sejam eliminados mais cedo, pode contactar o apoio técnico.
Problemas de autorização e autorizações
Seguem-se alguns erros de autorização comuns que pode encontrar quando transfere dados de diferentes origens de dados:
- Erro:
BigQuery Data Transfer Service is not enabled for <project_id> - Erro:
BigQuery Data Transfer Service has not been used in project <project_id> before or it is disabled ... Resolução: verifique se a função de agente de serviço foi concedida através dos seguintes passos:
Na Cloud de Confiance consola, aceda à página IAM e administração.
Selecione a caixa de verificação Incluir concessões de funções fornecidas pela S3NS.
Verifique se a conta de serviço com o nome
service-<project_number>@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.comé apresentada ou se lhe foi concedida a função Agente do Serviço de transferência de dados do BigQuery.
Se a conta de serviço não for apresentada ou não tiver a função de agente de serviço do Serviço de transferência de dados do BigQuery concedida, conceda a função predefinida na Cloud de Confiance consola ou executando o seguinte comando da CLI do Google Cloud:
gcloud projects add-iam-policy-binding PROJECT_NUMBER \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com \ --role roles/bigquerydatatransfer.serviceAgentSubstitua
PROJECT_NUMBERpelo número do projeto associado a esta conta de serviço.- Erro:
There was an error loading this table. Check that the table exists and that you have the correct permissions. Resolução:
Na Cloud de Confiance consola, aceda à página BigQuery.
Clique no conjunto de dados de destino usado na transferência.
Clique no menu Partilha e, de seguida, em Autorizações.
Expanda a função de editor de dados do BigQuery.
Verifique se o agente de serviço do Serviço de transferência de dados do BigQuery foi adicionado a esta função. Caso contrário, conceda a função de editor de dados do BigQuery (
roles/bigquery.dataEditor) ao agente de serviço do Serviço de transferência de dados do BigQuery.
- Erro:
A permission denied error was encountered: PERMISSION_DENIED. Please ensure that the user account setting up the transfer config has the necessary permissions, and that the configuration settings are correct Resolução:
Na Cloud de Confiance consola, aceda à página Transferências de dados.
Clique na transferência com falha e, de seguida, selecione o separador Configuração.
Verifique se o proprietário da transferência indicado no campo Utilizador tem todas as autorizações necessárias para a origem de dados.
Se o proprietário da transferência não tiver todas as autorizações necessárias, conceda as autorizações necessárias atualizando as respetivas credenciais. Também pode alterar o proprietário da transferência para outro utilizador com as autorizações necessárias.
- Erro:
Authentication failure: User Id not found. Error code: INVALID_USERID Resolução: o proprietário da transferência tem um ID de utilizador inválido. Altere o proprietário da transferência para um utilizador diferente atualizando as respetivas credenciais. Se estiver a usar uma conta de serviço, também deve verificar se as contas que executam a transferência de dados têm todas as autorizações necessárias para usar uma conta de serviço.
- Erro:
The user does not have permission Resolução: verifique se o proprietário da transferência é uma conta de serviço e se o serviço tem todas as autorizações necessárias definidas. Outra possibilidade é que a conta de serviço usada tenha sido criada num projeto diferente do projeto usado para criar esta transferência. Para resolver problemas de autorização entre projetos, consulte os seguintes recursos:
- Permita que as contas de serviço sejam anexadas em vários projetos
- Autorização da conta de serviço entre projetos (para conceder as autorizações necessárias)
- Erro:
HttpError 403 when requesting returned "The caller does not have permission" googleapiclient.errors.HttpError: <HttpError 403 when requesting returned "The caller does not have permission". Details: "The caller does not have permission">Este erro pode aparecer quando tenta configurar uma consulta agendada com uma conta de serviço.
Resolução: certifique-se de que a conta de serviço tem todas as autorizações necessárias para agendar ou modificar uma consulta agendada e certifique-se de que o utilizador que está a configurar a consulta agendada tem acesso à conta de serviço.
Se todas as autorizações corretas estiverem atribuídas, mas continuar a deparar-se com o erro, verifique se a política Desativar a utilização de contas de serviço entre projetos é aplicada ao projeto por predefinição. Pode verificar a existência da política na consola navegando para IAM e administração > Políticas da organização e pesquisando a política. Cloud de Confiance

Se a política Desativar a utilização de contas de serviço entre projetos for aplicada, pode desativar a política da seguinte forma:
- Identifique as contas de serviço associadas ao projeto através da Cloud de Confiance consola, navegando para IAM e administrador > Contas de serviço. Esta vista apresenta todas as contas de serviço do projeto atual.
- Desative a política no projeto onde as contas de serviço estão localizadas com o seguinte comando. Para desativar esta política, o utilizador tem de ser um administrador de políticas da organização. Apenas o administrador da organização pode conceder esta função a um utilizador.
gcloud resource-manager org-policies disable-enforce iam.disableCrossProjectServiceAccountUsage --project=[PROJECT-ID]
Problemas de configuração da transferência baseada em eventos
Seguem-se problemas comuns que pode encontrar ao criar uma transferência baseada em eventos.
- Erro:
Data Transfer Service is not authorized to pull message from the provided Pub/Sub subscription. Resolução: verifique se ao agente do serviço do Serviço de transferência de dados do BigQuery foi concedida a função
pubsub.subscriber:Na Cloud de Confiance consola, aceda à página Pub/Sub.
Selecione a subscrição do Pub/Sub que usou na transferência orientada por eventos.
Se o painel de informações estiver oculto, clique em Mostrar painel de informações no canto superior direito.
No separador Autorizações, verifique se o agente de serviço do Serviço de transferência de dados do BigQuery tem a
pubsub.subscriberfunção

Se o agente do serviço não tiver a função
pubsub.subscriberconcedida. Clique em Adicionar principal para conceder a funçãopubsub.subscriberaservice-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com- Erro:
Cloud Pub/Sub API has not been used in project PROJECT_NUMBER before or it is disabled. Resolução: verifique se a API Cloud Pub/Sub está ativada para o seu projeto:
Na Cloud de Confiance consola, aceda à página APIs e serviços.
Clique em Ativar APIs e serviços.
Pesquise
Cloud Pub/Sub API, selecione o primeiro resultado e clique em Ativar.
- Erro:
Data Transfer Service does not have required permission to use project quota of project PROJECT_NUMBER to access Pub/Sub. Resolução: verifique se ao agente do serviço do Serviço de transferência de dados do BigQuery foi concedida a função
serviceusage.serviceUsageConsumer:Na Cloud de Confiance consola, aceda à página IAM e administração.
Selecione a caixa de verificação Incluir concessões de funções fornecidas pela S3NS.
Verifique se a conta de serviço com o nome
service-<project_number>@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.comé apresentada e se lhe foi concedida a função Consumidor de utilização de serviços.
- Problema: quando usa a transferência baseada em eventos do Cloud Storage, não é acionada nenhuma execução de transferência após o carregamento ou a atualização de ficheiros no contentor do Cloud Storage.
As execuções de transferência não são acionadas imediatamente após a receção de um evento. O acionamento de uma execução de transferência pode demorar vários minutos. Para verificar o estado da próxima execução de transferência, pode consultar o campo Data de destino da próxima execução no histórico de execuções. Este campo apresenta a hora agendada para a próxima execução ou apresenta a mensagem a aguardar eventos para agendar a próxima execução se não tiverem sido recebidos eventos. Se tiver carregado ou atualizado ficheiros no seu contentor de armazenamento na nuvem, mas a Data de destino para a próxima execução não tiver sido atualizada e não forem acionadas execuções durante 10 a 20 minutos, consulte a seguinte resolução.
Resolução: verifique se a subscrição do Pub/Sub especificada na configuração de transferência consegue receber mensagens publicadas a partir de eventos do Cloud Storage:
Na Cloud de Confiance consola, aceda à página Pub/Sub.
Selecione a subscrição do Pub/Sub que usou na transferência orientada por eventos.
No separador Métricas, verifique o gráfico "Idade da mensagem não confirmada mais antiga" e veja se existem mensagens.

Se não forem publicadas mensagens, verifique se a notificação do Pub/Sub está configurada corretamente para o Cloud Storage. Pode usar o seguinte comando da CLI do Google Cloud para verificar as configurações de notificação associadas ao seu contentor:
gcloud storage buckets notifications list gs://BUCKET_NAMESubstitua
BUCKET_NAMEpelo nome do contentor que usa para a notificação. Para obter informações sobre a configuração de uma notificação do Pub/Sub para o Cloud Storage, consulte o artigo Configurar a notificação do Pub/Sub para o Cloud Storage.Se existirem mensagens, verifique se a mesma subscrição do Pub/Sub é usada noutras configurações de transferência orientadas por eventos. Não é possível reutilizar a mesma subscrição do Pub/Sub por várias configurações de transferência orientadas por eventos. Para mais informações acerca das transferências baseadas em eventos, consulte o artigo Transferências baseadas em eventos.
Problemas de quota
- Erro:
Quota exceeded: Your project exceeded quota for imports per project. - Resolução: verifique se não agendou demasiadas transferências no seu projeto. Para ver informações sobre o cálculo do número de tarefas de carregamento iniciadas por uma transferência, consulte o artigo Quotas e limites.