Configura una destinazione Cloud Storage

Lo streaming dei dati in Cloud Storage in Datastream ti consente di archiviare gli eventi di modifica dell'origine in Google Cloud all'interno di container di oggetti chiamati bucket. Quando replichi i dati nei bucket Cloud Storage, Datastream organizza i file in base al nome dell'oggetto e al timestamp dell'evento per l'utilizzo con l'API Cloud Storage.

Per configurare la destinazione, abilita l'API Datastream e specifica il bucket di destinazione e il prefisso del file. Se il bucket si trova in un progetto diverso, concedi anche le autorizzazioni per i account di servizio tra progetti.

Abilita l'API

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

Se stai scrivendo in un bucket in un progetto diverso, devi concedere al service account associato a Datastream l'autorizzazione 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..
  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, il nome del bucket e il prefisso facoltativo del file nella configurazione dello stream per determinare dove vengono scritti i dati.

Comportamento di scrittura

  • I dati di un determinato stream 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 per le origini del 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 i dati sono stati recuperati dall'origine. Per l'origine Salesforce, il timestamp rappresenta l'ora dell'ultima modifica del record.
    • Per gli eventi CDC, il timestamp rappresenta il momento in cui il record è stato modificato nell'origine.
  • I file vengono ruotati ogni volta che viene raggiunta la dimensione massima del file o il timeout massimo, a seconda di quale condizione si verifica per prima. Puoi modificare i valori delle dimensioni massime dei file e del timeout massimo 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 essere presenti più file nello stesso percorso per lo stesso minuto.
  • I dati possono essere utilizzati in base all'API Cloud Storage.
  • La dimensione massima degli eventi quando trasmetti dati in streaming in Cloud Storage è di 100 MB.
  • Ogni carattere non alfanumerico nel nome di una colonna di origine viene sostituito da un trattino basso (_) nel file di destinazione.

In alcuni casi, più comunemente quando uno stream inizia a essere eseguito, si verifica una sovrapposizione tra backfill e CDC, con conseguente generazione di eventi duplicati. Questo accade 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, se necessario, gli eventi duplicati possono essere eliminati utilizzando i metadati degli eventi.

Passaggi successivi