Diagnosticar problemas

O stream pode apresentar erros durante o tempo de execução.

  • Alguns erros, como uma senha incorreta no banco de dados de origem, são recuperáveis, o que significa que eles podem ser corrigidos e o stream é retomado automaticamente.
  • Os erros podem afetar um único objeto, como um evento que contém tipos de dados não compatíveis. Outros erros podem afetar vários objetos ou todo o stream (por exemplo, quando o Datastream não consegue se conectar ao banco de dados de origem).
  • Dependendo do erro, as informações são fornecidas nas páginas Streams ou Detalhes do stream na IU do Datastream. Também é possível usar as APIs do Datastream para recuperar informações sobre o erro.

Para resolver um problema, acesse o stream para ver o erro e siga as etapas descritas na mensagem de erro.

Esta página contém informações sobre erros de configuração, conectividade, Oracle e MySQL, além de etapas para resolver os erros.

Erros de configuração e conectividade

Erro Etapas de solução de problemas
Falha ao se conectar ao banco de dados de origem (genérico).

Existem várias razões possíveis para isso. Para resolver esse erro:

  1. Verifique se o banco de dados de origem está ativo e acessível.
  2. Navegue até o perfil de conexão de origem nas páginas Streams ou Perfis de conexão.
  3. Verifique se as informações de conectividade do perfil de conexão estão corretas.
  4. Verifique se o nome de usuário e a senha correspondem.
  5. Verifique se o nome de usuário existe no banco de dados e se tem os privilégios necessários.
  6. Salve as alterações feitas na página Perfis de conexão.

O stream é retomado automaticamente.

Falha ao se conectar ao banco de dados de origem (lista de permissões de IP). Isso pode acontecer se o método de conectividade escolhido for Lista de permissões de IP, mas um ou mais endereços IP de saída do Datastream não forem adicionados corretamente no banco de dados de origem. Verifique se os endereços IP de saída exibidos no perfil de conexão do Datastream estão configurados no firewall de rede para que o servidor de banco de dados de origem possa aceitar conexões desses endereços IP. Depois que isso for corrigido, o stream será retomado automaticamente.
Falha ao se conectar ao banco de dados de origem (Encaminhar túnel SSH). Isso pode acontecer se houver um problema com o túnel SSH para encaminhamento. Verificar o status do túnel Se o túnel estiver parado, será necessário iniciá-lo. Depois que isso for corrigido, o stream será retomado automaticamente.
O Datastream não pode se conectar a um Bastion Host por um túnel SSH de encaminhamento. Verifique se a configuração do túnel SSH para encaminhamento está definida corretamente no perfil de conexão de origem e se a porta está aberta no servidor de túnel SSH.
Falha ao se conectar ao banco de dados de origem devido a certificados inválidos. Isso pode acontecer se houver um problema com os certificados fornecidos ao definir o perfil de conexão de origem. Navegue até a página Perfis de conexão e selecione o perfil de conexão fornecido. Verifique se os certificados estão configurados corretamente. Depois de fazer as alterações, salve o perfil de conexão, e o stream será retomado automaticamente.
Falha ao usar a conectividade privada para se conectar ao banco de dados de origem. Esse erro se refere ao método de conectividade particular de peering de VPC.
  1. Verifique se você atende a todos os pré-requisitos Pré-requisitos do peering de VPC.
  2. Depois de criar a configuração de conectividade privada, verifique se a rota que contém o endereço IP interno do banco de dados aparece na guia Rotas exportadas da página Peering de rede VPC.

    Para fazer isso, acesse a página Peering de rede VPC e procure o peering que foi adicionado (o nome é peering-[UUID]). A rota pode ser encontrada na guia Rotas exportadas. Se o trajeto não existir, adicione-o manualmente.

  3. O Datastream não verifica sobreposições com rotas de peering dinâmico. Fornecer uma sub-rede que se sobrepõe a uma rota dinâmica pode causar problemas de conectividade. Portanto, não recomendamos usar uma sub-rede que faça parte de uma rota dinâmica.
  4. Verifique se as rotas personalizadas para os intervalos de endereços IP do Datastream estão sendo anunciadas corretamente. Se as rotas personalizadas estiverem faltando, consulte Rotas anunciadas personalizadas.
  5. Se você ainda tiver problemas para se conectar ao banco de dados de origem, consulte Configurar um proxy reverso.
Falha ao usar a interface do Private Service Connect para se conectar ao banco de dados de origem.
  1. Verifique se você atende a todos os pré-requisitos.
  2. Verifique se as regras de firewall permitem que a sub-rede do anexo de rede fornecido se conecte ao banco de dados de origem.
  3. Verifique se as rotas personalizadas para os intervalos de endereços IP do Datastream estão sendo anunciadas corretamente. Se as rotas personalizadas estiverem faltando, consulte Rotas anunciadas personalizadas.
O tipo de conectividade STATIC_SERVICE_IP_CONNECTIVITY não é permitido enquanto a política da organização constraints/datastream.disablePublicConnectivity está ativada.

Você selecionou os métodos públicos de conectividade de rede da lista de permissões de IP ou do túnel SSH de encaminhamento para o perfil de conexão que está criando. No entanto, a política da organização Bloquear métodos de conectividade pública para o Datastream está ativada. Portanto, não é possível selecionar métodos de conectividade pública para seu perfil de conexão.

Para resolver esse problema, selecione o método de conectividade de rede do peering da VPC ou das interfaces do Private Service Connect ou desative a política da organização.

Para desativar a política da organização:

  1. Acesse a página Políticas da organização no console Google Cloud .
  2. Selecione a política da organização Datastream: bloquear métodos de conectividade pública.
  3. Clique em EDITAR.

  4. Na seção Aplicável a, selecione Personalizar.
  5. Na seção Aplicação, selecione Desativada.

  6. Clique em Salvar.
  7. Volte para o perfil de conexão do Oracle que você está criando e clique em CRIAR.
Ao configurar o banco de dados de origem para meu stream, não consigo encontrar as tabelas e os esquemas que quero transferir na lista de objetos a serem incluídos.

Isso pode acontecer se o banco de dados tiver milhares de tabelas e esquemas. Alguns deles podem não ser incluídos na lista de objetos a serem extraídos ao configurar a origem do fluxo no console Google Cloud . Em vez de selecionar Esquemas e tabelas específicos na seção Selecionar objetos a incluir, escolha Personalizado. No campo Critérios de correspondência de objetos, insira os esquemas e as tabelas que você quer que o Datastream extraia.

Adicionei várias tabelas ao meu stream usando o menu Objetos a serem incluídos. No entanto, quando olho a guia Objetos em Detalhes da transmissão, percebo que algumas tabelas estão faltando. Verifique se há pelo menos uma atualização de CDC em cada uma dessas tabelas para que o Datastream possa reconhecer as mudanças e incluir automaticamente as tabelas no stream.
Falha ao carregar a lista de objetos ao usar o menu Objetos a serem incluídos no console Google Cloud . Isso pode acontecer se o banco de dados tiver mais de 5.000 esquemas e tabelas. Use um método diferente para especificar quais objetos incluir ou use a API Datastream. Para mais informações, consulte Configurar bancos de dados de origem.
Eventos descartados durante o streaming e não replicados no destino.

O Datastream pode descartar eventos sem suporte durante o streaming. Para resolver o problema, faça o seguinte:

  • Acione manualmente um preenchimento de toda a tabela. Isso funciona se os eventos descartados forem apenas eventos UPSERT. Se os eventos descartados incluírem eventos DELETE, será necessário truncar a tabela no BigQuery antes de fazer o backfill.

    Para informações sobre como fazer um preenchimento, consulte Iniciar preenchimento.

  • Entre em contato com o Suporte do Google e peça para fazer um backfill parcial. Isso só é possível se você puder identificar os eventos descartados com uma cláusula SQL WHERE e se nenhum dos eventos for DELETE.
  • Ignore o problema se o número de eventos descartados for baixo ou se eles não forem significativos.
O tempo limite foi atingido ao tentar se conectar à fonte de dados. Verifique se o nome do host e a configuração da porta estão corretos e se a fonte de dados está acessível. Como não é possível fazer o peering da rede do Datastream diretamente com uma rede de serviços particulares (por exemplo, uma instância do Cloud SQL) ao usar o peering de VPC, é necessário usar uma VM de conversão de endereços de rede (NAT) para estabelecer a conectividade entre o Datastream e seu recurso. Para mais informações sobre como configurar uma VM NAT, consulte Configurar o peering de VPC.
O esquema do objeto OBJECT_NAME é muito grande para o Datastream processar. O Datastream não é compatível com a replicação de eventos com esquemas de origem correspondentes maiores que 2.621.440 caracteres Unicode. Esses eventos são descartados com o seguinte código de motivo: UNSUPPORTED_LARGE_SCHEMA. Você pode excluir ou renomear algumas das colunas. Se preferir, exclua o objeto com o esquema grande.
O estado do stream mudou. Embora possa haver mais de um motivo para esse erro, um problema comum é a configuração inválida da fonte. Se a transmissão não iniciar com essa mensagem de erro, verifique a configuração da fonte em busca de chaves ou nomes de tabelas duplicados, inconsistências de dados ou conflitos de esquema. Muitos dos problemas podem ser resolvidos editando as configurações de stream com falha diretamente no console Google Cloud e ajustando as entradas de objetos incluídos e excluídos. Para mais informações, consulte Modificar informações de configuração sobre o banco de dados de origem.

Erros do Oracle

Erro Etapas de solução de problemas
A geração de registros complementares está configurada incorretamente no banco de dados de origem.

Um erro ao buscar dados contínuos de captura de dados de alteração (CDC, na sigla em inglês) poderá acontecer se a configuração de geração de registros complementar não estiver correta no banco de dados de origem. Verifique se a geração de registros complementares está configurada corretamente. Especificamente, confirma se a geração de registros complementares está ativada nas tabelas do banco de dados que estão sendo transmitidas da origem para o destino. O stream é retomado automaticamente.

Não é possível retomar a replicação porque a posição do registro é perdida. Esse erro pode ocorrer quando o processo de replicação está pausado por muito tempo, o que faz com que a posição do registro seja perdida. Os streams não podem ser pausados por períodos que se aproximam do período de armazenamento de registros. Recrie o stream.
Os arquivos de registros estão faltando, parcial ou totalmente.

Os arquivos de registros podem ter sido excluídos. A Oracle limpa os arquivos de registro assim que possível, a menos que você especifique um período de rotação mínimo para mantê-los. No servidor Oracle, defina por quanto tempo os arquivos de registros serão retidos. Por exemplo, use CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; para manter os arquivos de registros por pelo menos quatro dias.

Para uma implantação do RDS, use exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);.

A lista de exclusão inclui a lista de inclusão. A lista de inclusão está completamente dentro da lista de exclusão, de modo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e tente novamente.
O modo de geração de registros do banco de dados Oracle não está definido como ARCHIVELOG. Mude o modo de geração de registros e tente novamente.
O Datastream retorna uma mensagem de erro ORA-00942: table or view does not exist, mas tudo está configurado corretamente. Isso pode ser resultado do armazenamento em cache no servidor Oracle. Recriar o usuário do banco de dados corrige o problema de armazenamento em cache.
As mudanças em uma origem do Oracle não são refletidas no destino quando o stream já está em execução. Se você usar o LogMiner como método de CDC, o Datastream vai ler os arquivos de registro "redo" arquivados. Nesse caso, as mudanças feitas na origem não são refletidas no destino até que o registro seja arquivado. Para conferir as mudanças no destino, mude o método de CDC para leitor de registros binários, altere a política de arquivamento de registros ou force manualmente uma troca de registros. Para mais informações, consulte Trabalhar com arquivos de registro "redo" do banco de dados Oracle.
Falha na validação da configuração do CDC do Oracle. Você selecionou um método de CDC para o qual o banco de dados de origem não foi configurado. Selecione outro método ou conclua a configuração do método de CDC. Para mais detalhes, consulte Configurar um banco de dados Oracle de origem.
Ocorreu um erro interno inesperado. Para mais detalhes, entre em contato com o Suporte do Google.

Erros do MySQL

Erro Etapas de solução de problemas
O Binlog foi configurado incorretamente no banco de dados de origem.

Isso pode acontecer em streams contínuos do MySQL se a configuração do binlog estiver incorreta no banco de dados de origem. Para resolver esse erro, execute as seguintes ações:

  1. Verifique se o binlog está configurado corretamente.
  2. Confirme se o formato de registro binário do banco de dados do MySQL está definido como ROW.
  3. Reinicie o stream.
Não é possível retomar a replicação porque a posição do binlog é perdida. Esse erro pode ocorrer quando o processo de replicação está pausado por muito tempo, o que faz com que a posição do binlog seja perdida. Os streams não podem ser pausados por períodos que se aproximam do período de armazenamento de binlog. Recrie o stream.
Falha ao executar o stream devido a versões incompatíveis do banco de dados de origem e do destino.

Isso pode acontecer quando o banco de dados de origem não segue a matriz de suporte da versão. Para resolver esse erro, execute as seguintes ações:

  1. Verifique se o banco de dados de origem está de acordo com a matriz.
  2. Recrie o stream com o banco de dados de origem atualizado.
Os binlogs de origem do AWS RDS do MySQL estão ausentes, parcial ou totalmente. Os binlogs podem ter sido excluídos. O AWS RDS limpa binlogs assim que possível, a menos que você especifique um período de rotação mínimo para mantê-los. Na instância do MySQL de origem do RDS da AWS, defina por quanto tempo, em horas, os binlogs devem ser retidos. Por exemplo, use mysql.rds_set_configuration('binlog retention hours', 168); para manter os binlogs por pelo menos sete dias.
A lista de exclusão inclui a lista de inclusão. A lista de inclusão está completamente dentro da lista de exclusão, de modo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e tente novamente.
O Datastream não pode replicar um banco de dados MySQL. Verifique se o Datastream tem permissões para replicar o banco de dados.
Ao criar um perfil de conexão para uma origem do MySQL, vários certificados SSL codificados em PEM não são aceitos no menu Tipo de criptografia. O Datastream não é compatível com cadeias de certificados SSL em perfis de conexão do MySQL. Somente certificados únicos x509 codificados em PEM são aceitos.
Alta latência ao fazer streaming de uma fonte do MySQL.

Aumente a capacidade do Datastream de ler do banco de dados de origem:

Falha na validação da configuração da CDC do MySQL. O banco de dados de origem não foi configurado para o método de CDC selecionado. Selecione outro método ou conclua a configuração do método de CDC. Para mais detalhes, consulte Configurar um banco de dados MySQL de origem.
Ocorreu um erro interno inesperado. Para mais detalhes, entre em contato com o Suporte do Google.

Erros do PostgreSQL

Erro Etapas da solução de problemas
A decodificação lógica foi configurada incorretamente no banco de dados de origem.

Verifique se a decodificação lógica está configurada corretamente. Consulte Configurar um banco de dados PostgreSQL de origem.

O slot de replicação não existe. Um erro ao buscar dados contínuos captura de dados alterados (CDC, na sigla em inglês) poderá acontecer se o slot de replicação não existir no banco de dados. Verifique se o slot de replicação está configurado corretamente. Consulte Configurar um banco de dados PostgreSQL de origem.
O slot de replicação está configurado com um plug-in incorreto. Esse erro pode ocorrer se o slot de replicação estiver configurado com um plug-in diferente de pgoutput. Verifique se o slot de replicação está configurado corretamente. Consulte Banco de dados PostgreSQL de origem para mais informações.
O slot de replicação está ativo em um processo diferente. Esse erro pode ocorrer quando o slot de replicação está sendo usado por outro processo. Os slots de replicação só podem ser usados por um único processo por vez. Não use o mesmo slot de replicação em nenhum outro processo, exceto no Datastream.
A publicação não está configurada corretamente. Esse erro pode ocorrer quando a publicação não está configurada para expor as tabelas incluídas na configuração de stream. Verifique se a publicação está configurada corretamente. Consulte Configurar informações sobre o banco de dados de origem para o fluxo.
A publicação não existe. Esse erro pode ocorrer se a publicação não existir no banco de dados. Verifique se a publicação está configurada corretamente. Consulte Configurar um banco de dados PostgreSQL de origem.
Não é possível retomar a replicação porque os arquivos WAL foram perdidos. Esse erro pode ocorrer quando o processo de replicação está pausado por muito tempo, o que faz com que os arquivos WAL sejam perdidos. Os streams não podem ser pausados por períodos que se aproximam do período de armazenamento de arquivos WAL. Recrie o stream.
A lista de exclusão inclui a lista de inclusão. A lista de inclusão está completamente dentro da lista de exclusão, de modo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e tente novamente.
O Datastream não pode replicar um esquema do PostgreSQL. Verifique se o Datastream tem permissões para replicar o esquema.
Transações grandes no banco de dados de origem causam problemas com a replicação e a sincronização de dados. Se você inserir, atualizar ou excluir um número significativo de registros no banco de dados de origem, o slot de replicação poderá ficar sobrecarregado com os eventos correspondentes. O Datastream precisa de tempo para ler e processar esses eventos. Como os slots de replicação do PostgreSQL são de uma única linha de execução, o processamento de outras mudanças no slot de replicação, incluindo mudanças nos dados de outras tabelas, é adiado até que o Datastream alcance todas as mudanças no slot de replicação.
Transações grandes no banco de dados de origem causam baixo rendimento de CDC. O Datastream não oferece suporte à CDC multithread no PostgreSQL. Para superar essa limitação e aumentar a taxa de transferência de CDC, divida a origem em vários fluxos, cada um com seu próprio slot de publicação e replicação. Por exemplo, você pode criar um stream para a maior tabela do banco de dados e outro para todas as outras, ou um stream para as tabelas de maior prioridade e outro para as restantes. Os casos de uso podem variar, então considere o que faz mais sentido no seu cenário específico de CDC. Para informações sobre como criar uma publicação, consulte Configurar um banco de dados PostgreSQL de origem.
Eventos sem suporte descartados com o código de motivo: BIGQUERY_TOO_MANY_PRIMARY_KEYS. Quando a identidade de réplica do PostgreSQL de uma tabela é definida como FULL, o Datastream trata todas as colunas dessa tabela como chaves primárias. Se houver mais de 16 colunas na tabela, isso vai violar a limitação de CDC do BigQuery e causar o erro. Para resolver o problema, siga estas etapas:
  1. Mude a identidade da réplica para DEFAULT:
    ALTER TABLE TABLE_NAME REPLICA IDENTITY DEFAULT
    Substitua TABLE_NAME pelo nome da tabela em que você quer mudar a identidade de réplica.
  2. Remova a tabela da lista de objetos a serem incluídos no fluxo. Para mais informações, consulte Modificar informações de configuração sobre o banco de dados de origem.
  3. Exclua a tabela do BigQuery. Para mais informações, consulte Excluir tabelas.
  4. No Datastream, adicione a tabela ao fluxo novamente editando a configuração de origem.
Ocorreu um erro interno inesperado. Para mais detalhes, entre em contato com o Suporte do Google.

Erros do SQL Server

Erro Etapas da solução de problemas
O CDC está desativado no banco de dados DATABASE_NAME.

A captura de dados de alteração (CDC) precisa estar ativada no banco de dados. O Datastream precisa de acesso direto de leitura aos registros de transações para replicar mudanças em tempo real no banco de dados de origem e receber informações completas do registro. Ative a CDC para o banco de dados e tente de novo.

Para informações sobre como ativar a CDC em um banco de dados, consulte Configurar um banco de dados de origem do SQL Server.

Tabelas com CDC desativado.

A captura de dados alterados (CDC) precisa estar ativada em todas as tabelas incluídas no fluxo. O Datastream precisa de acesso direto de leitura aos registros de transações para replicar as mudanças em tempo real nas tabelas de origem e receber informações completas de registros. Ative a CDC para as tabelas incluídas no fluxo e tente de novo.

Para informações sobre como ativar o CDC para tabelas de origem, consulte Configurar um banco de dados SQL Server de origem.

Permissões ausentes. O Datastream não tem as permissões necessárias para ler a origem. Conceda os privilégios adequados à conta de usuário utilizada para se conectar ao seu banco de dados. Depois disso, tente novamente.
A edição EDITION_NAME do SQL Server não tem suporte. O Datastream não é compatível com essa edição do SQL Server. Para mais informações sobre as edições compatíveis do SQL Server, consulte Visão geral do SQL Server como uma fonte.
A versão VERSION_NAME da edição Standard do SQL Server não tem suporte. O Datastream não é compatível com essa versão da edição Standard do SQL Server. Para mais informações sobre as versões compatíveis do SQL Server, consulte Visão geral do SQL Server como uma fonte.
O stream não conseguiu ler o evento no LSN "YOUR_LSN" porque o arquivo de registro está truncado.

Esse problema pode ocorrer quando os registros de transações não existem mais no banco de dados de origem. Ao replicar dados de uma origem do SQL Server usando o método CDC de registros de transações, os registros podem ser truncados antes que o Datastream os leia. Quando isso acontece, o Datastream não consegue replicar o banco de dados de origem para o destino de maneira confiável.

Para resolver o problema, recupere seu stream ou use o método CDC de tabelas de mudanças. Para mais informações sobre as diferenças entre os dois métodos, consulte Visão geral do SQL Server como uma fonte.

Falha na configuração da CDC do SQL Server. O método de CDC selecionado não está em conformidade com a configuração do banco de dados. Mude o método de CDC e tente de novo.

Erros do Salesforce

Erro Etapas da solução de problemas
Permissões insuficientes.

O usuário do app conectado ou do app cliente externo configurado para autenticar a conexão entre sua organização do Salesforce e o Datastream não tem permissões suficientes para acessar os dados que você quer replicar. Verifique se você configurou a fonte do Salesforce corretamente. Para mais informações, consulte Configurar uma origem do Salesforce.

A API Bulk 2.0 está desativada.

A API Bulk 2.0 está ativada por padrão nas edições Performance, Unlimited, Enterprise e Developer. Essa mensagem de erro indica que a API está desativada na sua edição ou que as credenciais usadas não têm permissões suficientes. Verifique se o perfil de usuário que você usa tem a permissão API Enabled concedida.

Limite ultrapassado.

Você excedeu o limite de consultas da API do Salesforce. Essa mensagem aparece quando você atinge 90% da cota de limite da API. Nesse caso, o Datastream tenta de novo mais tarde. Considere aumentar sua cota da API do Salesforce.

O limite de exclusão foi excedido.

Ao consultar registros excluídos, o Salesforce limita a resposta a 600.000 identificadores de registro. A menor granularidade de consulta no Salesforce é de um minuto. Se você excluir mais de 600.000 registros em um minuto, o Salesforce vai retornar esse erro.

Erro de autenticação.

O Datastream não consegue autenticar com o Salesforce. Você provavelmente usou as credenciais ou o nome de domínio errados.

Erros do MongoDB

Erro Etapas da solução de problemas
Falha na autenticação. Verifique se o authSource do usuário do Datastream é admin. O usuário do Datastream precisa ser criado no banco de dados admin. Esse banco de dados é privilegiado e permite que os usuários executem determinados comandos administrativos.
Falha ao fazer login no banco de dados. Verifique o nome de usuário e a senha e tente de novo. Além disso, verifique se a conta de usuário foi criada no banco de dados admin. Se o problema persistir, talvez sua conta de usuário tenha sido excluída ou criada incorretamente.
A lista de objetos excluídos é inválida: {exclude_list}. Especifique os objetos excluídos no seguinte formato: DATABASE_NAME.COLLECTION_NAME.FIELD_NAME.NESTED_FIELD_NAME com caracteres curinga opcionais. Exemplos válidos: db.*, database.collection.*, database.*.field.*.
Não temos as permissões necessárias para ler a origem. Atribua a função readAnyDatabase ao usuário e tente de novo.
A versão VERSION_NAME do MongoDB não é compatível. Use a versão 5.0 ou mais recente.
O Datastream não conseguiu executar o comando buildinfo para determinar a versão do MongoDB. Verifique se o usuário tem as permissões necessárias para executar o comando buildinfo e tente de novo. Para mais informações sobre as permissões necessárias, consulte Configurar um banco de dados do MongoDB.
A conexão com o cluster do MongoDB expirou. Verifique se você informou o nome do host e as credenciais corretos e tente de novo.
Não é possível ler os dados necessários porque as permissões são insuficientes. Atribua a função readAnyDatabase à conta usada para se conectar ao cluster do MongoDB e tente de novo.
A conta de usuário usada para a conexão ao cluster do MongoDB não existe. Crie a conta de usuário e tente de novo.
Não foi possível se conectar usando as informações apresentadas. Verifique se o formato de conexão correto (SRV ou padrão) foi usado e se todas as informações necessárias (como nomes de conjuntos de réplica para a string de conexão) foram incluídas. Para mais informações, consulte Criar um perfil de conexão para um banco de dados do MongoDB.
Encontramos uma exceção do MongoDB. Mensagem de erro da fonte: {source_error}. Se a mensagem de erro da fonte não estiver clara, entre em contato com o suporte do Google.

Erros do BigQuery

Erro Etapas da solução de problemas
BIGQUERY_UNSUPPORTED_PRIMARY_KEY_CHANGE, details: Failed to write to BigQuery due to an unsupported primary key change: adding primary keys to existing tables is not supported. Se a chave primária mudar na origem, será necessário excluir a tabela no BigQuery e iniciar o backfill novamente. Essa é uma limitação do BigQuery, porque não há como garantir a fusão correta de novos eventos com linhas existentes se a chave primária for diferente. Para mais informações, consulte Configurar um destino do BigQuery.
A tabela de destino do BigQuery tem muito mais registros do que a tabela de origem. Isso pode acontecer quando a tabela de origem não tem uma chave primária. Nesse caso, o Datastream processa a tabela no modo de gravação somente de anexação, e cada evento de uma determinada linha aparece como uma linha separada no BigQuery.
Os dados são duplicados ao fazer backfill no modo de gravação Somente anexar.

Quando você seleciona o modo de gravação Somente anexar para seu stream, os dados são anexados no BigQuery como um stream de eventos INSERT, UPDATE-INSERT, UPDATE-DELETE e DELETE, sem consolidação. Isso pode fazer com que linhas duplicadas sejam gravadas no BigQuery ao fazer um backfill ou quando ocorre um problema e o gravador do BigQuery tenta novamente as operações de gravação. Para resolver o problema, recomendamos que você execute regularmente uma consulta de remoção de duplicação semelhante a esta:

SELECT * FROM (SELECT *, row_number() OVER (PARTITION BY datastream_metadata.uuid) AS num FROM TABLE_NAME) WHERE num=1
O Datastream está configurado para o modo de gravação de mesclagem, mas as mudanças não são mescladas no BigQuery.

Verifique se há uma chave primária na tabela de origem. O BigQuery precisa dele para mesclar as mudanças na tabela de destino.

Se não houver uma chave primária, considere adicionar uma na tabela de origem ou de destino. Para adicionar uma chave primária à tabela de destino do BigQuery, siga estas etapas:

  1. Pausar a transmissão.
  2. Trunque a tabela no BigQuery.
  3. Adicione a chave primária à definição da tabela.
  4. Retome o stream.
  5. Aciona o preenchimento da tabela.
Não é possível adicionar ou remover uma chave primária nem mudar a definição dela em uma tabela já replicada no BigQuery.

Por padrão, o Datastream não oferece suporte à adição de uma chave primária a uma tabela já replicada para o BigQuery sem uma chave primária nem à remoção de uma chave primária de uma tabela replicada para o BigQuery com uma chave primária. No entanto, é possível mudar a definição de chave primária de uma tabela de origem replicada para o BigQuery que já tenha uma chave primária:

  1. Verifique a métrica de latência total do fluxo e aguarde pelo menos o tempo da latência atual para garantir que todos os eventos em andamento sejam gravados no destino. Isso permite que todos os eventos com a chave primária original sejam transmitidos com sucesso.
  2. Pause o stream.
  3. Copie o comando da linguagem de definição de dados (DDL) CREATE TABLE para a tabela no BigQuery:
        SELECT ddl FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.TABLES
          WHERE table_name='TABLE_NAME';

    Substitua:

    • PROJECT_ID: o identificador do seu Google Cloud projeto.
    • DATASET_ID: o identificador do conjunto de dados no BigQuery.
    • TABLE_NAME: o nome da tabela para a qual você quer copiar o comando DDL.
  4. Exclua a tabela no BigQuery.
  5. Ajuste o comando DDL CREATE TABLE com as novas chaves primárias. Inclua as chaves de partição e cluster e o max_staleness OPTION:
        CREATE TABLE `[PROJECT_ID].[DATASET_ID].[TABLE_NAME]`
        (
          product_id INT64 NOT NULL,
          product_name STRING,
          datastream_metadata STRUCT,
          PRIMARY KEY (product_id) NOT ENFORCED
        )
        CLUSTER BY dept_no
        OPTIONS(
          max_staleness=INTERVAL '0-0 0 0:MINS:0' YEAR TO SECOND
        );
        ;
        

    Substitua:

    • PROJECT_ID: o identificador do seu Google Cloud projeto.
    • DATASET_ID: o identificador do conjunto de dados no BigQuery.
    • TABLE_NAME: o nome da tabela para a qual você copiou o comando DDL.
    • MINS: o número de minutos que você quer definir para a opção max_staleness, por exemplo, 15.
  6. Execute a consulta ajustada para recriar a tabela no BigQuery.
  7. Retome o stream.
  8. Inicie o preenchimento da tabela.

A seguir

  • Para saber como procurar possíveis problemas com sua transmissão, consulte Resolver problemas de uma transmissão.
  • Para saber como configurar seu banco de dados de origem, consulte Fontes.
  • Para saber como configurar seu destino do BigQuery ou do Cloud Storage, consulte Destinos.