Destino

Visão geral

O destino do Datastream é o Cloud Storage.

Nesta seção, você aprenderá a:

  • Configurando este destino de fluxo
  • Como especificar o bucket e o prefixo de destino para determinar onde os dados são gravados no destino
  • Comportamento associado aos dados gravados no destino

Configuração

Ativar a API Datastream é suficiente quando o bucket de destino do Cloud Storage está no mesmo projeto que o Datastream.

Se você estiver gravando em um bucket de outro projeto, será necessário fornecer a permissão para acessar o bucket à conta de serviço associada ao Datastream.

  1. Consiga o endereço de e-mail usado para a conta de serviço. Para fazer isso, encontre o Número do projeto na página inicial do Console do Cloud. O endereço de e-mail da conta de serviço será service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
  2. Conceda a este endereço de e-mail as permissões necessárias para gravar no bucket de destino (normalmente as permissões roles/storage.objectViewer, roles/storage.objectCreator e roles/storage.legacyBucketReader).

Especificar o bucket e o prefixo de destino

Forneça o nome do projeto, o nome do bucket e o prefixo de arquivo opcional na configuração do stream para determinar onde os dados são gravados.

Comportamento de gravação

  • Os dados de um determinado fluxo são gravados no bucket fornecido ou no prefixo do arquivo em: [bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)].
  • O nome do objeto no caminho para origens do banco de dados é o nome do esquema seguido pelo nome da tabela (separado por um sublinhado '_').
  • O carimbo de data/hora no caminho (hh/mm) é o carimbo de data/hora de origem dos metadados do evento.
    • Para eventos de preenchimento, o carimbo de data/hora representa o horário em que a tarefa de preenchimento foi iniciada (normalmente quando o stream foi iniciado ou quando o preenchimento foi acionado manualmente).
    • Para eventos de CDC, o carimbo de data/hora representa quando o registro foi alterado na origem.
  • Os arquivos são alternados sempre que o tamanho ou o tempo limite máximo é atingido, o que ocorrer primeiro.
  • Além disso, os arquivos são rotacionados sempre que uma alteração de esquema de origem é detectada (por exemplo, uma nova coluna é adicionada).
  • Pode haver vários arquivos no mesmo caminho para o mesmo minuto.
  • O consumo dos dados pode ser feito de acordo com a API Cloud Storage.

Em alguns casos, normalmente quando um stream começa a ser executado, haverá uma sobreposição entre o preenchimento e o CDC, resultando em eventos duplicados. Isso acontece quando o Datastream começa a ler o arquivo de registros atual do banco de dados, criado antes do início do stream, e esse arquivo de registro inclui alguns eventos que também são capturados pelo preenchimento. Esse comportamento é esperado, e eventos duplicados podem ser eliminados com os metadados de eventos, se necessário.