Configura una destinazione 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 altro progetto, devi fornire l'account di servizio associato all'autorizzazione Datastream per accedere al bucket.

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

Specifica il bucket e il prefisso di destinazione

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

Comportamento di scrittura

  • I dati di un determinato flusso vengono scritti nel bucket o nel prefisso del file fornito all'indirizzo: [bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)].
  • Il nome dell'oggetto nel percorso delle origini del database è il nome dello schema seguito dal nome della tabella (separato da un trattino basso "_").
  • Il timestamp nel percorso (hh/mm) è il timestamp di origine contenuto nei metadati dell'evento.
    • Per gli eventi di backfill, il timestamp rappresenta l'ora in cui è stata avviata l'attività di backfill (in genere, quando è stato avviato il flusso o quando il backfill è stato attivato manualmente).
    • Per gli eventi CDC, il timestamp rappresenta il momento della modifica del record nell'origine.
  • I file vengono ruotati ogni volta che viene raggiunta la dimensione massima o il timeout massimo, a seconda dell'evento che si verifica per primo. Puoi regolare la dimensione massima del file e i valori di timeout massimi utilizzando l'API Datastream.
  • Inoltre, i file vengono ruotati ogni volta che viene rilevata una modifica allo schema di origine, ad esempio quando viene aggiunta una nuova colonna.
  • Nello stesso percorso possono essere presenti più file per lo stesso minuto.
  • L'utilizzo dei dati può essere effettuato in base all'API Cloud Storage.
  • La dimensione massima degli eventi quando trasmetti il flusso di dati in Cloud Storage è di 30 MB.

In alcuni casi, solitamente quando un flusso viene avviato per la prima volta, si verifica una sovrapposizione tra backfill e CDC, con la conseguente creazione di eventi duplicati. Questo accade quando Datastream inizia a leggere dal file di log del database attuale (creato prima dell'avvio del flusso) e questo file di log include alcuni eventi che vengono acquisiti anche dal backfill. Si tratta di un comportamento previsto ed è possibile eliminare gli eventi duplicati utilizzando i metadati degli eventi, se necessario.