Configurare una destinazione Cloud Storage

Questa pagina descrive come configurare Datastream per scrivere i dati in un bucket Cloud Storage.

Cloud Storage è un servizio per l'archiviazione di dati in Google Cloud. I dati vengono archiviati come oggetti in container chiamati bucket. Quando esegui lo streaming su Cloud Storage, Datastream organizza i dati in base al nome dell'oggetto e al timestamp. Puoi quindi utilizzare i dati utilizzando l'API Cloud Storage. Per maggiori informazioni, consulta Informazioni sui bucket Cloud Storage.

Abilita l'API

L'abilitazione dell'API Datastream è sufficiente quando il bucket Cloud Storage di destinazione si trova nello stesso progetto di Datastream.

Se stai scrivendo in un bucket di un progetto diverso, devi fornire l'account di servizio associato all'autorizzazione Datastream per accedere al bucket.

  1. Scarica l'indirizzo email utilizzato per l'account di servizio. A tal fine, individua il numero di progetto nella home page della console Google Cloud . L'indirizzo email del account di servizio sarà service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
  2. Concedi a questo indirizzo email le autorizzazioni richieste per scrivere nel bucket di destinazione (in genere le autorizzazioni roles/storage.objectViewer, roles/storage.objectCreator e roles/storage.legacyBucketReader).

Specificare il bucket e il prefisso di destinazione

Fornisci il nome del progetto, il nome del bucket e il prefisso file facoltativo nella configurazione dello stream per determinare dove vengono scritti i dati.

Comportamento di scrittura

  • I dati per un determinato stream vengono scritti nel bucket o nel prefisso file fornito in: [bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)].
  • Il nome dell'oggetto nel percorso per le origini database è il nome dello schema seguito dal nome della tabella (separati da un trattino basso "_").
  • Il timestamp nel percorso (hh/mm) è il timestamp di origine dei metadati dell'evento.
    • Per gli eventi di backfill, il timestamp rappresenta l'ora in cui è stata avviata l'attività di backfill (in genere all'avvio dello stream o quando il backfill è stato attivato manualmente).
    • Per gli eventi CDC, il timestamp indica quando il record è stato modificato nell'origine.
  • I file vengono ruotati quando viene raggiunta la dimensione massima del file o il timeout massimo, a seconda di quale dei due eventi si verifica per primo. Puoi modificare le dimensioni massime dei file e i valori massimi di timeout utilizzando l'API Datastream.
  • Inoltre, i file vengono ruotati ogni volta che viene rilevata una modifica dello schema di origine (ad esempio, viene aggiunta una nuova colonna).
  • Possono esserci più file all'interno dello stesso percorso per lo stesso minuto.
  • L'utilizzo dei dati può essere eseguito in base all'API Cloud Storage.
  • La dimensione massima dell'evento durante lo streaming dei dati in Cloud Storage è 100 MB.

In alcuni casi, più comunemente quando un flusso inizia a essere eseguito, si verifica una sovrapposizione tra il backfill e CDC, con conseguente duplicazione degli eventi. Ciò si verifica quando Datastream inizia a leggere dal file di log del database corrente (creato prima dell'avvio dello stream) e questo file di log include alcuni eventi acquisiti anche dal backfill. Si tratta di un comportamento previsto e gli eventi duplicati possono essere eliminati utilizzando i metadati degli eventi, se necessario.

Passaggi successivi