Diagnostique problemas

A stream pode incorrer em erros durante o tempo de execução.

  • Alguns erros, como uma palavra-passe incorreta na base de dados de origem, são recuperáveis, o que significa que podem ser corrigidos e a stream é retomada automaticamente.
  • Os erros podem afetar um único objeto, como um evento que contenha tipos de dados não suportados. Outros erros podem afetar vários objetos ou toda a stream, como quando o Datastream não consegue estabelecer ligação à base de dados de origem.
  • Consoante o erro, são fornecidas informações nas páginas Streams ou Detalhes da stream da IU da stream de dados. Também pode usar as APIs do Datastream para aceder a informações sobre o erro.

Para resolver um erro, navegue para a stream para ver o erro e siga os passos descritos na mensagem de erro.

Esta página contém informações sobre erros de configuração, conetividade, Oracle e MySQL, juntamente com passos para resolver os erros.

Erros de configuração e conetividade

Erro Passos de resolução de problemas
Falha ao estabelecer ligação à base de dados de origem (genérica).

Isto pode acontecer por vários motivos. Para resolver este erro:

  1. Certifique-se de que a base de dados de origem está ativa e acessível.
  2. Navegue para o perfil de associação de origem a partir das páginas Streams ou Perfis de associação.
  3. Verifique se as informações de conetividade do perfil de ligação estão corretas.
  4. Verifique se o nome de utilizador e a palavra-passe correspondem.
  5. Verifique se o nome de utilizador existe na base de dados e tem os privilégios necessários.
  6. Guarde todas as alterações feitas na página Perfis de ligação.

A stream é retomada automaticamente.

Falha ao estabelecer ligação à base de dados de origem (lista de autorizações de IPs). Isto pode acontecer se o método de conetividade escolhido for lista de autorizações de IPs, mas um ou mais dos endereços IP de saída do fluxo de dados não forem adicionados corretamente na base de dados de origem. Certifique-se de que os endereços IP de saída apresentados no perfil de ligação do fluxo de dados estão configurados na firewall de rede para que o servidor da base de dados de origem possa aceitar ligações a partir destes endereços IP. Depois de corrigir o problema, a stream é retomada automaticamente.
Falha ao estabelecer ligação à base de dados de origem (encaminhar túnel SSH). Isto pode acontecer se houver um problema com o túnel SSH de encaminhamento. Verifique o estado do túnel. Se o túnel estiver parado, tem de ser iniciado. Depois de corrigir o problema, a stream é retomada automaticamente.
O fluxo de dados não consegue estabelecer ligação a um anfitrião bastion através de um túnel SSH encaminhado. Verifique se a configuração do túnel SSH de encaminhamento está configurada corretamente no perfil de ligação de origem e se a porta está aberta no servidor do túnel SSH.
Falha ao estabelecer ligação à base de dados de origem devido a certificados inválidos. Isto pode acontecer se houver um problema com os certificados fornecidos ao definir o perfil de ligação de origem. Navegue para a página Perfis de associação e, de seguida, selecione o perfil de associação indicado. Verifique se os certificados estão configurados corretamente. Depois de fazer as alterações, guarde o perfil de ligação e a transmissão é retomada automaticamente.
Falha ao usar a conetividade privada para estabelecer ligação à base de dados de origem. Este erro diz respeito ao método de conetividade privada do intercâmbio da VPC.
  1. Certifique-se de que concluiu todos os pré-requisitos Pré-requisitos da interligação de VPCs.
  2. Depois de criar a configuração de conetividade privada, verifique se a rota que contém o endereço IP interno da base de dados aparece no separador Rotas exportadas da página Interligação de redes VPC.

    Para o fazer, aceda à página VPC Network Peering e, de seguida, pesquise a interligação que foi adicionada (o nome é peering-[UUID]). Pode encontrar a rota no separador Rotas exportadas. Se este percurso não existir, adicione-o manualmente.

  3. O fluxo de dados não verifica se existem sobreposições com rotas de peering dinâmicas. Fornecer uma sub-rede que se sobreponha a uma rota dinâmica pode originar problemas de conetividade. Por conseguinte, não recomendamos a utilização de uma sub-rede que faça parte de uma rota dinâmica.
  4. Certifique-se de que as rotas personalizadas para os intervalos de endereços IP da stream de dados são anunciadas corretamente. Se os trajetos personalizados estiverem em falta, consulte o artigo Trajetos anunciados personalizados.
  5. Se continuar a ter problemas com a ligação à base de dados de origem, consulte o artigo Configure um proxy inverso.
Falha ao usar a interface do Private Service Connect para estabelecer ligação à base de dados de origem.
  1. Certifique-se de que concluiu todos os pré-requisitos.
  2. Certifique-se de que as regras da firewall permitem que a sub-rede do anexo de rede fornecido se ligue à base de dados de origem.
  3. Certifique-se de que as rotas personalizadas para os intervalos de endereços IP da stream de dados são anunciadas corretamente. Se os trajetos personalizados estiverem em falta, consulte o artigo Trajetos anunciados personalizados.
O tipo de conetividade STATIC_SERVICE_IP_CONNECTIVITY não é permitido enquanto as restrições da política da organização/datastream.disablePublicConnectivity estiverem ativadas.

Selecionou os métodos de conetividade de rede lista de autorizações de IPs públicos ou túnel SSH encaminhado para o perfil de ligação que está a criar. No entanto, a política organizacional Bloquear métodos de conetividade pública para o fluxo de dados está ativada. Por conseguinte, não pode selecionar métodos de conetividade públicos para o seu perfil de ligação.

Para resolver este problema, selecione o método de conetividade de rede de intercâmbio da VPC privado ou interfaces do Private Service Connect, ou desative a política da organização.

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

  1. Aceda à página Políticas de organização na Google Cloud consola.
  2. Selecione a política da organização Datastream - Block Public Connectivity Methods.
  3. Clique em EDITAR.

  4. Na secção Aplica-se a da página, selecione Personalizar.
  5. Na secção Aplicação, selecione Desativada.

  6. Clique em GUARDAR.
  7. Regresse ao perfil de ligação da Oracle que está a criar e, de seguida, clique em CRIAR.
Quando configuro a base de dados de origem para a minha stream, não consigo encontrar as tabelas e os esquemas que quero transferir na lista de objetos a incluir.

Isto pode acontecer se a sua base de dados tiver milhares de tabelas e esquemas. Alguns deles podem não estar incluídos na lista de objetos a extrair quando configura a origem para a stream na Google Cloud consola. Em vez de selecionar Esquemas e tabelas específicos na secção Selecionar objetos a incluir, selecione Personalizado. No campo Critérios de correspondência de objetos, introduza os esquemas e as tabelas que quer que o Datastream extraia.

Adicionei várias tabelas à minha stream através do menu Objetos a incluir. No entanto, quando consulto o separador Objetos em Detalhes da stream, vejo que faltam algumas tabelas. Certifique-se de que existe, pelo menos, uma atualização de CDC em cada uma destas tabelas para que o Datastream possa reconhecer as alterações e incluir automaticamente as tabelas na stream.
Falha ao carregar a lista de objetos quando usa o menu Objetos a incluir na Google Cloud consola. Isto pode acontecer se a sua base de dados tiver mais de 5000 esquemas e tabelas. Use um método diferente para especificar os objetos a incluir ou use a API Datastream. Para mais informações, consulte o artigo Configure bases de dados de origem.
Eventos ignorados durante o streaming e não replicados no destino.

A stream de dados pode ignorar eventos não suportados durante o streaming. Pode realizar as seguintes ações para resolver o problema:

  • Acionar manualmente um preenchimento de toda a tabela. Isto funciona se os eventos rejeitados forem apenas eventos UPSERT. Se os eventos ignorados incluírem eventos DELETE, tem de truncar a tabela no BigQuery antes de realizar o preenchimento.

    Para obter informações sobre como fazer um preenchimento alternativo, consulte o artigo Inicie o preenchimento alternativo.

  • Contacte o Apoio técnico da Google e peça-lhe para fazer um preenchimento parcial. Isto só é possível se conseguir identificar os eventos ignorados com uma cláusula SQL WHERE e se nenhum dos eventos for um evento DELETE.
  • Ignore o problema se o número de eventos rejeitados for baixo ou se os eventos rejeitados não forem significativos.
Tempo limite excedido ao tentar estabelecer ligação à origem de dados. Certifique-se de que a configuração do nome do anfitrião e da porta está correta e que a origem de dados está acessível. Uma vez que não é possível estabelecer uma relação de peering direta entre a rede do Datastream e uma rede de serviços privados (por exemplo, uma instância do Cloud SQL) quando usa o peering de VPC, tem de usar uma VM de tradução de endereços de rede (NAT) para estabelecer a conetividade entre o Datastream e o seu recurso. Para mais informações sobre como configurar uma VM NAT, consulte o artigo Configure o peering de VPC.
O esquema do objeto OBJECT_NAME é demasiado grande para o Datastream processar. O fluxo de dados não suporta a replicação de eventos com esquemas de origem correspondentes superiores a 2 621 440 carateres Unicode. Estes eventos são ignorados com o seguinte código de motivo: UNSUPPORTED_LARGE_SCHEMA. É recomendável excluir algumas das colunas ou mudar o nome das mesmas. Em alternativa, pode excluir o objeto com o esquema grande.
O estado da stream foi alterado. Embora possa haver mais do que um motivo para a ocorrência deste erro, um problema subjacente comum é a configuração de origem inválida. Se a stream não for iniciada com esta mensagem de erro, verifique a configuração da origem quanto a chaves ou nomes de tabelas duplicados, inconsistências de dados ou conflitos de esquemas. Muitos dos problemas podem ser resolvidos editando as definições da stream com falhas diretamente na Google Cloud consola e ajustando as entradas de objetos incluídos e excluídos. Para mais informações, consulte o artigo Modifique as informações de configuração acerca da base de dados de origem.

Erros da Oracle

Erro Passos de resolução de problemas
O registo suplementar está configurado incorretamente na base de dados de origem.

Pode ocorrer um erro ao obter dados de captura de dados de alterações (CDC) em curso se a configuração do registo suplementar não estiver correta na base de dados de origem. Verifique se o registo suplementar está configurado corretamente. Em concreto, confirme que o registo suplementar está ativado para as tabelas da base de dados que estão a ser transmitidas a partir da origem para o destino. A stream é retomada automaticamente.

Não é possível retomar a replicação porque a posição do registo foi perdida. Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que a posição do registo seja perdida. As streams não devem ser pausadas durante períodos de tempo que se aproximem do período de retenção de registos. Recrie a stream.
Os ficheiros de registo estão em falta, parcial ou totalmente.

Os ficheiros de registo podem ter sido eliminados. A Oracle limpa os ficheiros de registo assim que possível, a menos que especifique um período de rotação mínimo para os manter. No servidor Oracle, defina durante quanto tempo os ficheiros de registo devem ser retidos. Por exemplo, use CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; para manter os ficheiros de registo durante, pelo menos, 4 dias.

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

A lista de exclusão substitui a lista de inclusão. A lista de inclusão está totalmente contida na lista de exclusão, pelo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e, em seguida, tente novamente.
O modo de registo da base de dados Oracle não está definido como ARCHIVELOG. Altere o modo de registo e, em seguida, tente novamente.
O fluxo de dados devolve uma mensagem de erro ORA-00942: table or view does not exist, mas tudo está configurado corretamente. Isto pode ser o resultado do armazenamento em cache no servidor Oracle. A recriação do utilizador da base de dados deve corrigir o problema de colocação em cache.
As alterações a uma origem Oracle não são refletidas no destino quando a stream já está em execução. Se usar o LogMiner como método de CDC, o Datastream lê a partir de ficheiros de registo de refazer arquivados. Nesse caso, as alterações que fizer à origem não são refletidas no destino até o registo ser arquivado. Para ver as alterações no destino, altere o método de CDC para leitor de registos binários, altere a política de arquivo de registos ou force manualmente uma mudança de registo. Para mais informações, consulte o artigo Trabalhe com ficheiros de registo de refazer da base de dados Oracle.
Falha na validação da configuração da CDC da Oracle. Selecionou um método de CDC para o qual a base de dados de origem não foi configurada. Selecione um método diferente ou conclua a configuração do seu método de CDC. Para mais detalhes, consulte o artigo Configure uma base de dados Oracle de origem.
Ocorreu um erro interno inesperado. Para mais detalhes, contacte o Apoio técnico da Google.

Erros do MySQL

Erro Passos de resolução de problemas
O registo binário está configurado incorretamente na base de dados de origem.

Isto pode acontecer para streams contínuas do MySQL se a configuração do binlog estiver incorreta na base de dados de origem. Para resolver este erro, realize as seguintes ações:

  1. Verifique se o binlog está configurado corretamente.
  2. Confirme se o formato de registo binário da base de dados MySQL está definido como ROW.
  3. Reinicie a stream.
Não é possível retomar a replicação porque a posição do registo binário foi perdida. Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que a posição do binlog seja perdida. As streams não devem ser pausadas durante períodos de tempo que se aproximem do período de retenção do binlog. Recrie a stream.
Falha na execução da stream devido a versões de base de dados de origem e de destino incompatíveis.

Isto pode acontecer quando a base de dados de origem não cumpre a matriz de compatibilidade de versões. Para resolver este erro, realize as seguintes ações:

  1. Certifique-se de que a base de dados de origem cumpre a matriz.
  2. Recrie a stream com a base de dados de origem atualizada.
Os registos binários da origem do MySQL do AWS RDS estão em falta, parcial ou totalmente. Os registos binários podem ter sido eliminados. O AWS RDS limpa os binlogs assim que pode, a menos que especifique um período de rotação mínimo para os manter. Na instância do AWS RDS MySQL de origem, defina durante quanto tempo, em horas, os binlogs devem ser retidos. Por exemplo, use mysql.rds_set_configuration('binlog retention hours', 168); para manter os registos binários durante, pelo menos, 7 dias.
A lista de exclusão substitui a lista de inclusão. A lista de inclusão está totalmente contida na lista de exclusão, pelo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e, em seguida, tente novamente.
O fluxo de dados não pode replicar uma base de dados MySQL. Certifique-se de que o Datastream tem autorizações para replicar a base de dados.
Quando cria um perfil de associação para uma origem MySQL, não são aceites vários certificados SSL codificados em PEM no menu Tipo de encriptação. O Datastream não suporta cadeias de certificados SSL em perfis de ligação do MySQL. Apenas são suportados certificados únicos codificados em PEM x509.
Latência elevada ao fazer stream a partir de uma origem do MySQL.

Aumente a capacidade do fluxo de dados de ler a partir da base de dados de origem:

Falha na validação da configuração de CDC do MySQL. A base de dados de origem não foi configurada para o método de CDC que selecionou. Selecione um método diferente ou conclua a configuração do seu método de CDC. Para mais detalhes, consulte o artigo Configure uma base de dados MySQL de origem.
Ocorreu um erro interno inesperado. Para mais detalhes, contacte o Apoio técnico da Google.

Erros do PostgreSQL

Erro Passos de resolução de problemas
A descodificação lógica está configurada incorretamente na base de dados de origem.

Verifique se a descodificação lógica está configurada corretamente. Consulte o artigo Configure uma base de dados PostgreSQL de origem.

O espaço de replicação não existe. Pode ocorrer um erro ao obter dados de captura de dados de alterações (CDC) em curso se o espaço de replicação não existir na base de dados. Verifique se o espaço de replicação está configurado corretamente. Consulte o artigo Configure uma base de dados PostgreSQL de origem.
O espaço de replicação está configurado com um plugin incorreto. Este erro pode ocorrer se o espaço de replicação estiver configurado com um plug-in diferente de pgoutput. Verifique se o espaço de replicação está configurado corretamente. Consulte o artigo Base de dados PostgreSQL de origem para mais informações.
O espaço de replicação está ativo num processo diferente. Este erro pode ocorrer quando o espaço de replicação está a ser usado por outro processo. Os espaços de replicação só podem ser usados por um único processo de cada vez. Certifique-se de que não usa o mesmo espaço de replicação noutro processo, exceto no Datastream.
A publicação não está configurada corretamente. Este erro pode ocorrer quando a publicação não está configurada para expor as tabelas incluídas na configuração da stream. Verifique se a publicação está configurada corretamente. Consulte o artigo Configure informações sobre a base de dados de origem para a stream.
A publicação não existe. Este erro pode ocorrer se a publicação não existir na base de dados. Verifique se a publicação está configurada corretamente. Consulte o artigo Configure uma base de dados PostgreSQL de origem.
Não é possível retomar a replicação, uma vez que os ficheiros WAL foram perdidos. Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que os ficheiros WAL sejam perdidos. As streams não devem ser pausadas durante períodos que se aproximem do período de retenção dos ficheiros WAL. Recrie a stream.
A lista de exclusão substitui a lista de inclusão. A lista de inclusão está totalmente contida na lista de exclusão, pelo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e, em seguida, tente novamente.
O fluxo de dados não consegue replicar um esquema do PostgreSQL. Certifique-se de que o Datastream tem autorizações para replicar o esquema.
As transações grandes na base de dados de origem causam problemas com a replicação e a sincronização de dados. Se inserir, atualizar ou eliminar um número significativo de registos na base de dados de origem, o espaço de replicação pode ficar sobrecarregado com os eventos correspondentes. A stream de dados precisa de tempo para ler e processar estes eventos. Uma vez que os slots de replicação do PostgreSQL são de thread único, o processamento de outras alterações no slot de replicação, incluindo alterações aos dados noutras tabelas, é atrasado até o Datastream acompanhar todas as alterações no slot de replicação.
As transações grandes na base de dados de origem causam um baixo débito de CDC. O Datastream não suporta CDC com várias linhas de execução no PostgreSQL. Para ultrapassar esta limitação e aumentar o débito de CDC, pode dividir a origem em vários fluxos, cada um com a sua própria publicação e slot de replicação. Por exemplo, pode querer criar uma stream para a maior tabela na sua base de dados e outra para todas as outras tabelas, ou uma stream para as tabelas de prioridade máxima e outra para as restantes. Os exemplos de utilização podem variar, pelo que tem de considerar o que faz mais sentido no seu cenário de CDC específico. Para obter informações sobre como criar uma publicação, consulte o artigo Configure uma base de dados PostgreSQL de origem.
Eventos não suportados ignorados com o código do motivo: BIGQUERY_TOO_MANY_PRIMARY_KEYS. Quando a identidade da réplica do PostgreSQL para uma tabela está definida como FULL, o Datastream trata todas as colunas nesta tabela como chaves primárias. Se existirem mais de 16 colunas na tabela, isto viola a limitação da CDC do BigQuery e causa o erro. Para resolver o problema, conclua os seguintes passos:
  1. Altere a identidade da réplica para DEFAULT:
    ALTER TABLE TABLE_NAME REPLICA IDENTITY DEFAULT
    Substitua TABLE_NAME pelo nome da tabela para a qual quer alterar a identidade da réplica.
  2. Remova a tabela da lista de objetos a incluir na stream. Para mais informações, consulte o artigo Modifique as informações de configuração acerca da base de dados de origem.
  3. Elimine a tabela do BigQuery. Para mais informações, consulte o artigo Elimine tabelas.
  4. No Datastream, adicione novamente a tabela à stream editando a configuração da origem.
Ocorreu um erro interno inesperado. Para mais detalhes, contacte o Apoio técnico da Google.

Erros do SQL Server

Erro Passos de resolução de problemas
A CDC está desativada para a base de dados DATABASE_NAME.

A captura de dados de alterações (CDC) tem de estar ativada para a base de dados. O fluxo de dados precisa de acesso direto de leitura aos registos de transações para replicar as alterações em tempo real na base de dados de origem e obter informações completas dos registos. Ative a CDC para a base de dados e tente novamente.

Para ver informações sobre como ativar a CDC para uma base de dados, consulte o artigo Configure uma base de dados do SQL Server de origem.

Tabelas com CDC desativado.

A captura de dados de alterações (CDC) tem de estar ativada para todas as tabelas incluídas na stream. O fluxo de dados precisa de acesso de leitura direto aos registos de transações para replicar as alterações em tempo real nas tabelas de origem e obter informações completas dos registos. Ative a CDC para as tabelas incluídas na stream e tente novamente.

Para informações sobre como ativar a CDC para tabelas de origem, consulte o artigo Configure uma base de dados SQL Server de origem.

Autorizações em falta. A stream de dados não tem as autorizações necessárias para ler a partir da origem. Conceda os privilégios adequados à conta de utilizador usada para estabelecer ligação à sua base de dados e tente novamente.
A edição do SQL Server EDITION_NAME não é suportada. A stream de dados não suporta esta edição do SQL Server. Para mais informações sobre as edições suportadas do SQL Server, consulte o artigo Vista geral do SQL Server como origem.
A versão VERSION_NAME do SQL Server da edição Standard não é suportada. O Datastream não suporta esta versão da edição Standard do SQL Server. Para mais informações sobre as versões suportadas do SQL Server, consulte o artigo Vista geral do SQL Server como origem.
A stream não consegue ler o evento no LSN "YOUR_LSN" porque o registo de transações parece estar truncado.

Este problema pode ocorrer quando os registos de transações já não existem na base de dados de origem. Quando replica dados de uma origem do SQL Server através do método CDC de registos de transações, os registos podem ser truncados antes de o Datastream os ler. Quando isso acontece, o Datastream não consegue replicar de forma fiável a base de dados de origem para o destino.

Para resolver o problema, recupere a sua stream ou considere usar o método CDC de tabelas de alterações. Para mais informações sobre as diferenças entre os dois métodos, consulte o artigo Vista geral do SQL Server como origem.

Configuração de CDC do SQL Server: falhou. O método de CDC que selecionou não está em conformidade com a configuração da base de dados. Altere o método de CDC e tente novamente.

Erros do Salesforce

Erro Passos de resolução de problemas
Autorizações insuficientes.

O utilizador da app associada ou da app cliente externa que configurou para autenticar a associação entre a sua organização do Salesforce e o Datastream não tem autorizações suficientes para aceder aos dados que quer replicar. Certifique-se de que configurou corretamente a origem do Salesforce. Para mais informações, consulte o artigo Configure uma origem do Salesforce.

API Bulk 2.0 desativada.

A API Bulk 2.0 está ativada por predefinição para as edições Performance, Unlimited, Enterprise e Developer. Esta mensagem de erro indica que a API está desativada na sua edição ou que as credenciais que usa não têm autorizações suficientes. Certifique-se de que o perfil de utilizador que usa tem a autorização API Enabled concedida.

Excedeu o limite.

Excedeu o limite de consultas da API Salesforce. Esta mensagem é apresentada quando atinge 90% da sua quota de limite da API. Nesse caso, o fluxo de dados volta a tentar a operação mais tarde. Recomendamos que considere aumentar a sua quota da API Salesforce.

Limite de eliminações excedido.

Quando consulta registos eliminados, o Salesforce limita a resposta a 600 000 identificadores de registos. A granularidade de consulta mais baixa no Salesforce é de um minuto e, se eliminar mais de 600 000 registos num minuto, o Salesforce devolve este erro.

Erro de autenticação.

O fluxo de dados não consegue autenticar com o Salesforce. Provavelmente, usou as credenciais ou o nome do domínio incorretos.

Erros do MongoDB

Erro Passos de resolução de problemas
Falha na autenticação. Verifique se o authSource do utilizador do fluxo de dados é admin. O utilizador da stream de dados tem de ser criado na base de dados admin. Esta base de dados é uma base de dados privilegiada que permite aos utilizadores executar determinados comandos administrativos.
Falha ao iniciar sessão na base de dados. Verifique o seu nome de utilizador e palavra-passe e tente novamente. Além disso, certifique-se de que a sua conta de utilizador foi criada na base de dados admin. Se o problema persistir, é possível que a sua conta de utilizador tenha sido eliminada 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 carateres universais opcionais. Exemplos válidos: db.*, database.collection.*, database.*.field.*.
Não temos as autorizações necessárias para ler a partir da origem. Atribua a função readAnyDatabase ao utilizador e tente novamente.
A versão VERSION_NAME do MongoDB não é suportada. Use a versão 5.0 ou superior.
A stream de dados não conseguiu executar o comando buildinfo para determinar a versão do MongoDB. Certifique-se de que o utilizador tem as autorizações necessárias para executar o comando buildinfo e tente novamente. Para mais informações acerca das autorizações necessárias, consulte o artigo Configure uma base de dados MongoDB.
A ligação ao cluster do MongoDB excedeu o tempo limite. Certifique-se de que facultou o nome do anfitrião e as credenciais corretos e tente novamente.
Não é possível ler os dados necessários devido a autorizações insuficientes. Atribua a função readAnyDatabase à conta usada para estabelecer ligação ao cluster do MongoDB e tente novamente.
A conta de utilizador usada para estabelecer ligação ao seu cluster do MongoDB não existe. Crie a conta de utilizador e tente novamente.
Não foi possível estabelecer ligação através das informações facultadas. Verifique se está a usar o formato de ligação correto (SRV ou Standard) e se incluiu todas as informações necessárias (como os nomes dos conjuntos de réplicas para a string de ligação do conjunto de réplicas). Para mais informações, consulte o artigo Crie um perfil de associação para uma base de dados MongoDB.
Ocorreu uma exceção do MongoDB. Mensagem de erro da fonte: {source_error}. Se a mensagem de erro de origem não for clara, contacte o apoio técnico da Google.

Erros do BigQuery

Erro Passos de resoluçã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 for alterada na origem, tem de eliminar a tabela no BigQuery e iniciar novamente o preenchimento. Esta é uma limitação do BigQuery, porque não existe forma de garantir a união correta de novos eventos com linhas existentes se a chave primária for diferente. Para mais informações, consulte o artigo Configure um destino do BigQuery.
A tabela do BigQuery de destino tem significativamente mais registos do que a tabela de origem. Isto pode acontecer quando a tabela de origem não tem uma chave primária. Nesse caso, o Datastream processa a tabela no modo de escrita apenas de anexação, e cada evento de uma determinada linha aparece como uma linha separada no BigQuery.
Os dados são duplicados quando faz o preenchimento em modo de escrita Apenas anexar.

Quando seleciona o modo de escrita Apenas anexar para a sua stream, os dados são anexados no BigQuery como uma stream de eventos INSERT, UPDATE-INSERT, UPDATE-DELETE e DELETE, sem consolidação. Isto pode fazer com que sejam escritas linhas duplicadas no BigQuery quando faz o preenchimento, ou quando ocorre um problema e o escritor do BigQuery tenta novamente as operações de escrita. Para resolver o problema, recomendamos que execute uma consulta de remoção de duplicados semelhante à seguinte de forma regular:

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 escrita de união, mas as alterações não são unidas no BigQuery.

Verifique se existe uma chave principal na tabela de origem. O BigQuery precisa desta informação para unir as alterações à tabela de destino.

Se não existir uma chave principal, considere adicionar uma na tabela de origem ou de destino. Para adicionar uma chave primária na tabela de destino do BigQuery, siga estes passos:

  1. Pausar a stream.
  2. Trunca a tabela no BigQuery.
  3. Adicione a chave primária à definição da tabela.
  4. Retome a stream.
  5. Acionar o preenchimento para a tabela.
Não é possível adicionar uma chave principal, remover uma chave principal nem alterar a definição da chave principal de uma tabela que já tenha sido replicada para o BigQuery.

Por predefinição, o Datastream não suporta a adição de uma chave primária a uma tabela que já foi replicada para o BigQuery sem uma chave primária, nem a remoção de uma chave primária de uma tabela que foi replicada para o BigQuery com uma chave primária. No entanto, pode alterar a definição da 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 da stream e aguarde, pelo menos, o tempo da latência atual para garantir que todos os eventos em curso são escritos no destino. Isto permite que todos os eventos com a chave principal original sejam transmitidos com êxito.
  2. Pausar a stream.
  3. Copie o comando da CREATE TABLElinguagem de definição de dados (LDD) para a tabela no BigQuery:
        SELECT ddl FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.TABLES
          WHERE table_name='TABLE_NAME';

    Substitua o seguinte:

    • PROJECT_ID: o identificador do seu projeto Google Cloud .
    • DATASET_ID: o identificador do conjunto de dados no BigQuery.
    • TABLE_NAME: o nome da tabela para a qual quer copiar o comando DDL.
  4. Elimine a tabela no BigQuery.
  5. Ajuste o comando CREATE TABLE DDL com as novas chaves principais. Inclua as chaves de partição e de cluster, bem como 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 o seguinte:

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

O que se segue?

  • Para saber como procurar potenciais problemas com a sua stream, consulte o artigo Resolva problemas de uma stream.
  • Para saber como configurar a base de dados de origem, consulte o artigo Origens.
  • Para saber como configurar o destino do BigQuery ou do Cloud Storage, consulte o artigo Destinos.