En esta página, aprenderás a usar la API de Datastream para realizar las siguientes acciones:
- Crea transmisiones
- Obtén información sobre transmisiones y objetos de transmisiones
- Actualiza las transmisiones iniciándolas, pausándolas, reanudándolas y modificándolas, así como iniciando y deteniendo el reabastecimiento de los objetos de transmisión.
- Recupera transmisiones con errores permanentes
- Habilita la transmisión de objetos grandes para las transmisiones de Oracle
- Borra transmisiones
Existen dos formas de usar la API de Datastream. Puedes realizar llamadas a la API de REST o usar Google Cloud CLI.
Para obtener información general sobre el uso de Google Cloud CLI para administrar transmisiones de Datastream, consulta Transmisiones de Datastream de la CLI de gcloud.
Crea una transmisión
En esta sección, aprenderás a crear un flujo que se usa para transferir datos de tu fuente a un destino. Los siguientes ejemplos no son exhaustivos, sino que destacan funciones específicas de Datastream. Para abordar tu caso de uso específico, usa estos ejemplos junto con la documentación de referencia de la API de Datastream.
En esta sección, se abarcan los siguientes casos de uso:
- Transmite datos de Oracle a Cloud Storage
- Transmite de MySQL a BigQuery
- Transmite datos de PostgreSQL a BigQuery
- Define un conjunto de objetos para incluir en el flujo
- Reabastece todos los objetos incluidos en la transmisión
- Cómo excluir objetos de la transmisión
- Excluye objetos del reabastecimiento
- Define la CMEK para encriptar datos en reposo
- Cómo definir el modo de escritura para una transmisión
- Transmite a un proyecto diferente en BigQuery
- Transmite datos a tablas de Apache Iceberg
Ejemplo 1: Transmite objetos específicos a BigQuery
En este ejemplo, aprenderás a hacer lo siguiente:
- Transmite datos de MySQL a BigQuery
- Incluye un conjunto de objetos en la transmisión
- Define el modo de escritura de la transmisión como de solo agregado
- Reabastece todos los objetos incluidos en la transmisión
A continuación, se muestra una solicitud para extraer todas las tablas de schema1 y dos tablas específicas de schema2: tableA y tableC. Los eventos se escriben en un conjunto de datos en BigQuery.
La solicitud no incluye el parámetro customerManagedEncryptionKey, por lo que se usa el sistema interno de administración de claves Google Cloud para encriptar tus datos en lugar de la CMEK.
El parámetro backfillAll asociado con la realización del reabastecimiento (o instantánea) histórico se establece en un diccionario vacío ({}), lo que significa que Datastream reabastece los datos históricos de todas las tablas incluidas en el flujo.
REST
POST https://datastream.googleapis.com/v1/projects/myProjectId1/locations/us-central1/streams?streamId=mysqlCdcStream { "displayName": "MySQL CDC to BigQuery", "sourceConfig": { "sourceConnectionProfileName": "/projects/myProjectId1/locations/us-central1/streams/mysqlCp" , "mysqlSourceConfig": { "includeObjects": { "mysqlDatabases": [ { "database": "schema1" }, { "database": "schema2", "mysqlTables": [ { "table": "tableA", "table": "tableC" } ] } ] }, } }, "destinationConfig": { "destinationConnectionProfileName":