Gestionar flujos

En esta página se explica cómo usar la API Datastream para hacer lo siguiente:

  • Crear flujos
  • Obtener información sobre flujos y objetos de flujo
  • Actualizar las secuencias iniciándolas, pausándolas, reanudándolas y modificándolas, así como iniciando y deteniendo el relleno de objetos de la secuencia
  • Recuperar emisiones que han fallado permanentemente
  • Habilitar la transmisión de objetos grandes para las secuencias de Oracle
  • Eliminar flujos

Hay dos formas de usar la API DataStream. Puedes hacer llamadas a la API REST o usar Google Cloud CLI (CLI).

Para obtener información general sobre cómo usar Google Cloud CLI para gestionar flujos de Datastream, consulta Flujos de Datastream de gcloud CLI.

Crear un flujo

En esta sección, aprenderá a crear un flujo que se usa para transferir datos de su origen a un destino. Los ejemplos que se muestran a continuación no son exhaustivos, sino que destacan funciones específicas de Datastream. Para abordar tu caso práctico específico, usa estos ejemplos junto con la documentación de referencia de la API Datastream.

En esta sección se tratan los siguientes casos prácticos:

Ejemplo 1: Transmitir objetos específicos a BigQuery

En este ejemplo, aprenderás a hacer lo siguiente:

  • Transmitir datos de MySQL a BigQuery
  • Incluir un conjunto de objetos en el flujo
  • Definir el modo de escritura de la secuencia como de solo anexión
  • Rellenar todos los objetos incluidos en el flujo

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 de BigQuery.

La solicitud no incluye el parámetro customerManagedEncryptionKey, por lo que se usa el sistema de gestión de claves interno de Google Cloud para cifrar los datos en lugar de CMEK.

El parámetro backfillAll asociado a la reposición histórica (o la captura) se define como un diccionario vacío ({}), lo que significa que DataStream repone el historial de datos 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"
              }
            ]
          }
        ]
      },