Destino

Descripción general

El destino de transmisión para Datastream es Cloud Storage.

En esta sección, aprenderás sobre lo siguiente:

  • Configurar este destino de transmisión
  • Especificar el prefijo y el bucket de destino para determinar dónde se escriben los datos en el destino
  • Comportamiento asociado con los datos escritos en el destino

Configuración

Habilitar la API de Datastream es suficiente cuando el bucket de Cloud Storage de destino está en el mismo proyecto que Datastream.

Si escribes en un bucket de un proyecto diferente, debes otorgar a la cuenta de servicio asociada a Datastream el permiso para acceder al bucket.

  1. Obtén la dirección de correo electrónico que se usa en la cuenta de servicio. Para esto, busca el número de proyecto en la página principal de Cloud Console. La dirección de correo electrónico de la cuenta de servicio será service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
  2. Proporciona a esta dirección de correo electrónico los permisos necesarios para escribir en el bucket de destino (que suelen ser los permisos roles/storage.objectViewer, roles/storage.objectCreator y roles/storage.legacyBucketReader).

Especifica el bucket de destino y el prefijo

Proporciona el nombre del proyecto, el nombre del bucket y el prefijo de archivo opcional en la configuración de la transmisión para determinar dónde se escriben los datos.

Comportamiento de escritura

  • Los datos de una transmisión determinada se escriben en el bucket o prefijo de archivo proporcionado en: [bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)].
  • El nombre del objeto en la ruta de acceso de las bases de datos de origen es el nombre del esquema seguido del nombre de la tabla (separado por un guion bajo “_”).
  • La marca de tiempo de la ruta (hh/mm) es la marca de tiempo de origen de los metadatos del evento.
    • Para los eventos de reabastecimiento, la marca de tiempo representa el momento en el que se inició la tarea de reabastecimiento (por lo general, cuando se inició la transmisión o cuando se activó el reabastecimiento de forma manual).
    • Para los eventos de CDC, la marca de tiempo representa cuándo se cambió el registro en la fuente.
  • Los archivos se rotan siempre que se alcanza el tamaño de archivo máximo o el tiempo de espera máximo, lo que ocurra primero.
  • Además, los archivos se rotan cada vez que se detecta un cambio en el esquema de origen (por ejemplo, se agrega una columna nueva).
  • Puede haber varios archivos dentro de la misma ruta en el mismo minuto.
  • El consumo de los datos se puede realizar de acuerdo con la API de Cloud Storage.

En algunos casos, con mayor frecuencia cuando se ejecutar una transmisión por primera vez, habrá una superposición entre el reabastecimiento y CDC, lo que dará como resultado eventos duplicados. Esto sucede cuando Datastream comienza a leer desde el archivo de registro de la base de datos actual (que se creó antes de que se iniciara la transmisión), y este archivo de registro incluye algunos eventos que también captura el reabastecimiento. Este es el comportamiento previsto y los eventos duplicados se pueden borrar mediante los metadatos de evento, si es necesario.