Configura un destino de Cloud Storage

En esta página, se describe cómo configurar Datastream para escribir datos en un bucket de Cloud Storage.

Cloud Storage es un servicio para almacenar datos en Google Cloud. Los datos se almacenan como objetos en contenedores llamados buckets. Cuando transmites datos a Cloud Storage, Datastream los organiza por nombre de objeto y marca de tiempo. Luego, puedes usar tus datos con la API de Cloud Storage. Para obtener más información, consulta Acerca de los buckets de Cloud Storage.

Habilita 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 (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 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 los valores máximos de tamaño de archivo y de tiempo de espera con la API de Datastream.
  • Además, los archivos se rotan cada vez que se detecta un cambio en el esquema de la fuente (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 según la API de Cloud Storage.
  • El tamaño máximo del evento cuando transmites datos a Cloud Storage es de 100 MB.

En algunos casos, sobre todo cuando una transmisión comienza a ejecutarse, se produce una superposición entre el reabastecimiento y el CDC, lo que genera eventos duplicados. Esto sucede cuando Datastream comienza a leer 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 se capturan en el reabastecimiento. Este es el comportamiento previsto, y los eventos duplicados se pueden eliminar con los metadatos del evento, si es necesario.

¿Qué sigue?