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.
- 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
. - 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
yroles/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 la hora 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.
- Puedes consumir los datos según 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, lo más común es que, cuando una transmisión comienza a ejecutarse por primera vez, se produce una superposición entre el reabastecimiento y el 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 el reabastecimiento también captura. Este es un comportamiento anticipado, y los eventos duplicados se pueden eliminar con los metadatos de eventos, si es necesario.
¿Qué sigue?
- Obtén más información para transmitir cambios en los datos casi en tiempo real con Datastream.