Configura un destino de Cloud Storage

Habilitar la API

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 ello, busca el número de proyecto en la página principal de la consola de Google Cloud. La dirección de correo electrónico de la cuenta de servicio será service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
  2. Otorga a esta dirección de correo electrónico los permisos necesarios para escribir en el bucket de destino (por lo general, 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 en la ruta (hh/mm) es la marca de tiempo de origen de los metadatos del evento.
    • En el caso de los eventos de reabastecimiento, la marca de tiempo representa el momento en 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. Puedes ajustar el tamaño máximo del archivo y los valores de tiempo de espera máximo con la API de Datastream.
  • 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 datos se puede realizar de acuerdo con la API de Cloud Storage.
  • El tamaño máximo del evento cuando transmites datos a Cloud Storage es de 30 MB.

En algunos casos, por lo general, cuando una transmisión comienza a ejecutarse, existe una superposición entre el reabastecimiento y las CDC, lo que genera 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 un comportamiento previsto, y los eventos duplicados se pueden eliminar mediante los metadatos de eventos, si es necesario.