Esta página descreve como configurar o fluxo de dados para escrever dados num contentor do Cloud Storage.
O Cloud Storage é um serviço para armazenar dados na Google Cloud. Armazena os dados como objetos em contentores denominados recipientes. Quando faz streaming para o Cloud Storage, o Datastream organiza os dados por nome do objeto e data/hora. Em seguida, pode consumir os seus dados através da API Cloud Storage. Para mais informações, consulte o artigo Acerca dos contentores do Cloud Storage.
Ative a API
A ativação da API Datastream é suficiente quando o contentor de armazenamento na nuvem de destino está no mesmo projeto que o Datastream.
Se estiver a escrever num contentor num projeto diferente, tem de conceder à conta de serviço associada à autorização do fluxo de dados acesso ao contentor.
- Obtenha o endereço de email usado para a conta de serviço. Para o fazer, encontre o Número do projeto na Google Cloud página inicial da consola. O endereço de email da conta de serviço é
service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com
. - Conceda a este endereço de email as autorizações necessárias para escrever no contentor de destino (normalmente, as autorizações
roles/storage.objectViewer
,roles/storage.objectCreator
eroles/storage.legacyBucketReader
).
Especifique o prefixo e o contentor de destino
Indique o nome do projeto, o nome do contentor e o prefixo do ficheiro opcional na configuração da stream para determinar onde os dados são escritos.
Comportamento de escrita
- Os dados de uma determinada stream são escritos no prefixo do ficheiro ou no contentor fornecido em:
[bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)]
. - O nome do objeto no caminho para origens de base de dados é o nome do esquema seguido do nome da tabela (separados por um sublinhado "_").
- A data/hora no caminho (hh/mm) é a data/hora de origem dos metadados do evento.
- Para eventos de preenchimento, a data/hora representa a hora em que a tarefa de preenchimento foi iniciada (normalmente, quando a stream foi iniciada ou quando o preenchimento foi acionado manualmente).
- Para eventos de CDC, a data/hora representa o momento em que o registo foi alterado na origem.
- Os ficheiros são rodados sempre que o tamanho máximo do ficheiro ou o tempo limite máximo é atingido, consoante o que ocorrer primeiro. Pode ajustar o tamanho máximo do ficheiro e os valores de tempo limite máximo através da API Datastream.
- Além disso, os ficheiros são rodados sempre que é detetada uma alteração do esquema de origem (por exemplo, é adicionada uma nova coluna).
- Pode haver vários ficheiros no mesmo caminho para o mesmo minuto.
- O consumo dos dados pode ser feito de acordo com a API Cloud Storage.
- O tamanho máximo do evento quando transmite dados para o Cloud Storage é de 100 MB.
Em alguns casos, mais frequentemente quando uma stream começa a ser executada, existe uma sobreposição entre o preenchimento e a CDC, o que resulta em eventos duplicados. Isto acontece quando a stream de dados começa a ler a partir do ficheiro de registo da base de dados atual (que foi criado antes do início da stream) e este ficheiro de registo inclui alguns eventos que também são capturados pelo preenchimento. Este é o comportamento esperado e, se necessário, é possível eliminar eventos duplicados através dos metadados de eventos.