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.
- 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
. - 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
eroles/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.