En esta página se describe cómo configurar Datastream para escribir datos en un segmento de Cloud Storage.
Cloud Storage es un servicio para almacenar datos en Google Cloud. Los datos se almacenan como objetos en contenedores llamados segmentos. Cuando envías datos a Cloud Storage, Datastream los organiza por nombre de objeto y marca de tiempo. Después, puedes usar la API Cloud Storage para consumir tus datos. Para obtener más información, consulta Acerca de los segmentos de Cloud Storage.
Activar la API
Si el segmento de Cloud Storage de destino está en el mismo proyecto que Datastream, basta con habilitar la API Datastream.
Si estás escribiendo en un segmento de otro proyecto, debes conceder el permiso de Datastream a la cuenta de servicio asociada para acceder al segmento.
- Obtén la dirección de correo electrónico de la cuenta de servicio. Para ello, busca el número de proyecto en la página principal de la consola. Google Cloud La dirección de correo de la cuenta de servicio será
service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com
. - Concede a esta dirección de correo los permisos necesarios para escribir en el segmento de destino (normalmente, los permisos
roles/storage.objectViewer
,roles/storage.objectCreator
yroles/storage.legacyBucketReader
).
Especificar el segmento y el prefijo de destino
Proporciona el nombre del proyecto, el nombre del segmento y el prefijo de archivo opcional en la configuración del flujo para determinar dónde se escriben los datos.
Comportamiento de escritura
- Los datos de un flujo determinado se escriben en el prefijo de archivo o en el segmento proporcionado en:
[bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)]
. - El nombre del objeto en la ruta de las fuentes de datos de bases de datos es el nombre del esquema seguido del nombre de la tabla (separados 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.
- En el caso de los eventos de relleno, la marca de tiempo representa la hora en la que se inició la tarea de relleno (normalmente, cuando se inició la emisión o cuando se activó el relleno manualmente).
- En el caso de los eventos de CDC, la marca de tiempo representa el momento en el que se modificó el registro en la fuente.
- Los archivos se rotan cuando se alcanza el tamaño máximo o el tiempo de espera máximo, lo que ocurra primero. Puede ajustar los valores máximos de tamaño de archivo y de tiempo de espera mediante la API Datastream.
- Además, los archivos se rotan cada vez que se detecta un cambio en el esquema de origen (por ejemplo, cuando se añade una columna nueva).
- Puede haber varios archivos en la misma ruta para el mismo minuto.
- Los datos se pueden consumir según la API de Cloud Storage.
- El tamaño máximo de los eventos al transmitir datos a Cloud Storage es de 100 MB.
En algunos casos, sobre todo cuando una secuencia empieza a ejecutarse, se produce una superposición entre el relleno y el CDC, lo que provoca que se dupliquen los eventos. Esto ocurre cuando Datastream empieza a leer el archivo de registro de la base de datos actual (que se creó antes de que se iniciara la secuencia) y este archivo de registro incluye algunos eventos que también se capturan en el relleno. Este comportamiento es normal y los eventos duplicados se pueden eliminar mediante los metadatos de evento, si es necesario.