Usar las API de DataStream

En el caso de las empresas con muchas fuentes de datos aisladas, puede resultar difícil el acceso a los datos empresariales en toda la organización, especialmente en tiempo real. El resultado es un mundo de acceso a datos limitado y lento, lo que impide la capacidad de introspección de la organización.

Datastream proporciona acceso casi en tiempo real para cambiar los datos de una variedad de fuentes de datos locales y basadas en la nube a fin de crear acceso a los datos de la organización. Datastream proporciona una experiencia de configuración simple y una API de consumo unificada que democratiza el acceso de la organización a los datos empresariales más recientes disponibles en toda la organización gracias a la integración de situaciones casi en tiempo real.

Una de esas situaciones es transferir datos de una base de datos de origen a un servicio de almacenamiento basado en la nube o a una cola de mensajes y transformarlos en un formato que puedan leer otras aplicaciones y servicios que se comunican con este servicio de almacenamiento o cola de mensajería.

En este instructivo, aprenderás a usar Datastream para transferir esquemas, tablas y datos de una base de datos de origen de Oracle a una carpeta en un bucket de Cloud Storage. Cloud Storage es un servicio web para almacenar y acceder a datos en Google Cloud. El servicio combina el rendimiento y la escalabilidad de la nube de Google con capacidades avanzadas de seguridad y uso compartido.

Como parte de la transferencia de esta información a una carpeta en el bucket de destino de Cloud Storage, Datastream traduce esta información en Avro. Avro se define mediante un esquema escrito en la notación de objetos de JavaScript (JSON). Esta traducción te permite leer los datos en diferentes fuentes de datos de manera uniforme.

Objetivos

En este instructivo, aprenderás a realizar lo siguiente:

  • Configurar variables de entorno Usará estas variables cuando realice solicitudes a Datastream para crear y administrar perfiles de conexión y un flujo.
  • Crea y administra perfiles de conexión para una base de datos de origen y un bucket de destino en Cloud Storage. Cuando creas estos perfiles de conexión, creas registros que contienen información sobre la base de datos de origen y el bucket de destino de Cloud Storage. La transmisión en Datastream usa la información de los perfiles de conexión para transferir datos de la base de datos de origen a una carpeta en el bucket de destino.
  • Crea y administra una transmisión. Datastream usa esta transmisión para transferir datos, esquemas y tablas de la base de datos de origen a una carpeta en el bucket de destino.
  • Verificar que Datastream transfiera los datos y tablas asociados con un esquema de la base de datos de Oracle de origen a una carpeta en el bucket de destino y traduzca estos datos al formato de archivo Avro
  • Limpia los recursos que creaste en Datastream para que no consuman tu cuota y no se te facturen en el futuro.

Costos

En este instructivo, se usan componentes facturables de Google Cloud, como Cloud Storage.

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto. Los usuarios nuevos de Google Cloud pueden ser elegibles para obtener una prueba gratuita.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  6. Habilita la API de Datastream.

    Habilitación de la API

  7. Asegúrate de tener asignada la función de administrador de Datastream a tu cuenta de usuario.

    Ir a la página IAM

  8. Asegúrate de tener una base de datos de origen a la que pueda acceder Datastream. Para este instructivo, se usa una base de datos de Oracle como fuente.
  9. Configura la base de datos de origen para permitir conexiones entrantes desde direcciones IP públicas de Datastream. Consulta listas de anunciantes permitidos y regiones de IP para acceder a las ubicaciones de todas las regiones de Datastream y sus direcciones IP públicas asociadas.
  10. Asegúrese de haber configurado un bucket de destino de Cloud Storage al que pueda acceder Datastream mediante la lista de anunciantes permitidos de IP, el túnel SSH de reenvío o el método de conectividad de red de intercambio de tráfico de VPC.
  11. Asegúrese de tener en la base de datos de origen datos, tablas y esquemas que Datastream pueda transferir a una carpeta en el bucket de Cloud Storage de destino.
  12. Descarga y, luego, instala Cloud Shell. Esta aplicación cliente le proporciona acceso de línea de comandos a sus recursos en la nube (incluido Datastream).
  13. Instala y configura la utilidad jq. Esta utilidad es un procesador JSON de línea de comandos liviano y flexible. Usarás este procesador para mostrar comandos cURL complejos en texto fácil de leer.

Configure variables de entorno

En este procedimiento, establecerás las siguientes variables:

  • $PROJECT: Esta variable está asociada a tu proyecto de Google Cloud. Todos los recursos de Google Cloud que asignas y usas deben pertenecer a un proyecto.
  • $TOKEN: Esta variable está asociada con un token de acceso. El token de acceso proporciona una sesión que Cloud Shell usa para realizar tareas en Datastream a través de las API de REST.
  1. Inicia tu aplicación de Cloud Shell.

  2. Después de autenticarte en tu aplicación con tu Cuenta de Google, ingresa gcloud auth login.

  3. Cuando aparezca el cuadro de Do you want to continue (Y/n)?, ingresa Y.

  4. Abre un navegador web y copia la URL en el navegador.

  5. Autentícate en el SDK de Google Cloud con tu Cuenta de Google. Aparece un código en la página Acceder. Este código es tu token de acceso.

  6. Copia el token de acceso, pégalo en el parámetro Enter verification code: de tu aplicación de Cloud Shell y presiona Enter.

  7. Cuando se te solicite, ingresa PROJECT="[YOUR_PROJECT_NAME]" para configurar la variable de entorno $PROJECT en tu proyecto de Google Cloud.

  8. Cuando se te solicite, ingresa gcloud config set project [YOUR_PROJECT_NAME] para configurar el proyecto en el que deseas trabajar en tu proyecto de Google Cloud.

    El símbolo del sistema se actualiza para reflejar el proyecto activo y respetará este formato: [USERNAME]@cloudshell:~ ([YOUR_PROJECT_NAME])$

  9. Cuando se te solicite, ingresa TOKEN=$(gcloud auth print-access-token) para recuperar el token de acceso y almacenarlo como una variable.

  10. En el símbolo del sistema, ingresa los siguientes comandos para asegurarte de que las variables $PROJECT y $TOKEN estén configuradas de forma correcta:

    • echo $PROJECT
    • echo $TOKEN

Ahora que ya configuró sus variables, puede hacer solicitudes a Datastream para crear y administrar los perfiles de conexión y una transmisión.

Crear y administrar perfiles de conexión

En esta sección, crearás y administrarás los perfiles de conexión de una base de datos de Oracle de origen y un bucket de destino en Cloud Storage.

Cuando creas estos perfiles de conexión, creas registros que contienen información sobre la base de datos de origen y el bucket de destino de Cloud Storage. Datastream usa la información de los perfiles de conexión para transferir datos de la base de datos de origen a una carpeta en el bucket de destino.

La creación y administración de perfiles de conexión incluye lo siguiente:

  • Crea perfiles de conexión para una base de datos de Oracle de origen y un bucket de destino en Cloud Storage
  • Recuperar información sobre un perfil de conexión
  • Modifica un perfil de conexión
  • Realiza una llamada a la API de Descubre en el perfil de conexión de origen de Oracle. Esta llamada te permite examinar la base de datos para ver los objetos asociados. Estos objetos incluyen los esquemas y las tablas que contienen los datos de la base de datos. Cuando usa Datastream para configurar una transmisión, es posible que no quiera extraer todos los objetos de la base de datos, sino un subconjunto de ellos (por ejemplo, solo ciertas tablas y esquemas de la base de datos). Usa la API de Descubre para encontrar (o descubrir) el subconjunto de objetos de base de datos que deseas extraer.

Crear perfiles de conexión

En este procedimiento, crearás dos perfiles de conexión: uno a una base de datos de Oracle de origen y otro a un bucket de destino en Cloud Storage.

  1. Crea un perfil de conexión a una base de datos de Oracle de origen. En el símbolo del sistema, ingresa el siguiente comando:

    ORACLE="{\"displayName\":\"[DISPLAY_NAME]\",\"oracle_profile\":{\"hostname\":\"[HOSTNAME],\"username\":\"[USERNAME]\",\"password\":\"[PASSWORD]\",\"database_service\":\"[DATABASE_SERVICE]\",\"port\":[PORT_NUMBER]},\"no_connectivity\":{}}"
    

    Usa la siguiente tabla para entender los valores de los parámetros de la base de datos de Oracle de origen:

    Valor del parámetroReemplazar por
    [DISPLAY_NAME]El nombre visible del perfil de conexión de la base de datos de origen.
    [HOSTNAME]El nombre de host del servidor de la base de datos de origen.
    [USERNAME]El nombre de usuario de la cuenta para la base de datos de origen (por ejemplo, ROOT)
    [PASSWORD]La contraseña de la cuenta para la base de datos de origen.
    [DATABASE_SERVICE]El servicio que garantiza que la base de datos de origen esté protegida y supervisada. Para las bases de datos de Oracle, el servicio de base de datos suele ser ORCL.
    [PORT_NUMBER]El número de puerto reservado para la base de datos de origen. Para una base de datos de Oracle, el número de puerto suele ser 1521.
  2. En el símbolo del sistema, ingresa el comando echo $ORACLE | jq para ver el perfil de conexión fuente que creaste en un texto fácil de leer.

    {
      "displayName": "[DISPLAY_NAME]",
      "oracle_profile": {
        "hostname": "[HOSTNAME]",
        "username": "[USERNAME]",
        "password": "[PASSWORD]",
        "database_service": "[DATABASE_SERVICE]",
        "port": [PORT_NUMBER]
       },
      "no_connectivity": {}
    }
    
  3. Envía el perfil de conexión de Oracle para que pueda crearse. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X POST -d $ORACLE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles?connection_profile_id=[SOURCE_CONNECTION_PROFILE_ID]
    

    Usa la siguiente tabla para entender los valores de los parámetros de este comando:

    Valor del parámetroReemplazar por
    [DATASTREAM_API_VERSION]La versión actual de la API de Datastream (por ejemplo, v1alpha1)
    [PROJECT_PATH]La ruta completa del proyecto de Google Cloud (por ejemplo, projects/$PROJECT/locations/[YOUR_PROJECT_LOCATION]))
    [SOURCE_CONNECTION_PROFILE_ID]El identificador único reservado para este perfil de conexión (por ejemplo, cp-1).
  4. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[SOURCE_CONNECTION_PROFILE_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "datastream.googleapis.com/[DATASREAM_VERSION]/[PROJECT_PATH]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  5. Crea un perfil de conexión a un bucket de destino en Cloud Storage. En el símbolo del sistema, ingresa el siguiente comando:

    GOOGLECLOUDSTORAGE="{\"displayName\":\"[DISPLAY_NAME]\",\"gcs_profile\":{\"bucket_name\":\"[BUCKET_NAME]\",\"root_path\":\"/[FOLDER_PATH]\"},\"no_connectivity\":{}}"
    

    Usa la siguiente tabla para entender los valores de los parámetros del bucket de destino:

    Valor del parámetroReemplazar por
    [DISPLAY_NAME]El nombre visible del perfil de conexión al bucket de destino.
    [BUCKET_NAME]El nombre del bucket de destino.
    [FOLDER_PATH]La carpeta del depósito de destino a la que Datastream transferirá datos de la base de datos de origen (por ejemplo, /root/path).
  6. En el símbolo del sistema, ingresa el comando echo $GOOGLECLOUDSTORAGE | jq para ver el perfil de conexión de destino que creaste en texto fácil de leer.

    {
      "displayName": "[DISPLAY_NAME]",
      "gcs_profile": {
        "bucket_name": "[BUCKET_NAME]",
        "root_path": "/[FOLDER_PATH]"
      },
      "no_connectivity": {}
    }
    
  7. Envía el perfil de conexión de Cloud Storage para que se pueda crear. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X POST -d $GOOGLECLOUDSTORAGE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles?connection_profile_id=[DESTINATION_CONNECTION_PROFILE_ID]
    
  8. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[DESTINATION_CONNECTION_PROFILE_OPERATION_ID]",
      "metadata": {
        "@type": "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "datastream.googleapis.com/[DATASREAM_VERSION]/[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  9. Confirma que se hayan creado ambos perfiles de conexión. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles
    
  10. Verifica que recibas dos resultados que se muestren para los perfiles de conexión de origen y de destino.

    {
      "connectionProfiles": [
        {
          "name": "[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
          "createTime": "[DATE_AND_TIME_STAMP]",
          "updateTime": "[DATE_AND_TIME_STAMP]",
          "displayName": "[DISPLAY_NAME]",
          "gcsProfile": {
            "bucketName": "[BUCKET_NAME]",
            "rootPath": "[FOLDER_PATH]"
          },
          "noConnectivity": {}
        },
       {
        "name": "[PROJECT_PATH]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "updateTime": "[DATE_AND_TIME_STAMP]",
        "displayName": "[DISPLAY_NAME]",
        "oracleProfile": {
          "hostname": "[HOSTNAME]",
          "port": [PORT_NUMBER],
          "username": "[USERNAME]",
          "databaseService": "[DATABASE_SERVICE]"
        },
        "noConnectivity": {}
        }
      ]
    }
    

Administrar perfiles de conexión

En este procedimiento, debes administrar los perfiles de conexión que creaste para una base de datos de origen de Oracle y un bucket de destino en Cloud Storage. Incluye lo siguiente:

  • Recupera información sobre el perfil de conexión de destino de Cloud Storage
  • Modifica este perfil de conexión. En este instructivo, cambiarás la carpeta del bucket de Cloud Storage de destino a /root/tutorial. Datastream transfiere datos de la base de datos de origen a esta carpeta.
  • Realiza una llamada a la API de Descubre en el perfil de conexión de origen de Oracle
  1. Recupera información sobre el perfil de conexión de Cloud Storage de destino. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]
    
  2. Verifica que veas información sobre este perfil de conexión.

    {
      "name": "[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "gcsProfile": {
        "bucketName": "[BUCKET_NAME]",
        "rootPath": "[FOLDER_PATH]"
      },
      "noConnectivity": {}
    }
    
  3. Modifica este perfil de conexión. Para ello, primero configura una variable UPDATE. Esta variable contiene los valores del perfil de conexión que deseas cambiar. En este instructivo, cambiará la carpeta del bucket de destino a /root/tutorial.

    Para configurar la variable, en el símbolo del sistema, ingresa el siguiente comando:

    UPDATE="{\"gcsProfile\":{\"rootPath\":\"/root/tutorial\"}}"
  4. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X PATCH -d $UPDATE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]?update_mask=gcsProfile.rootPath
    
  5. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[DESTINATION_CONNECTION_PROFILE_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "verb": "update",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  6. Confirma que el perfil de conexión esté modificado. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]
    
  7. Verifica que la carpeta del bucket de destino del perfil de conexión de Cloud Storage ahora sea /root/tutorial.

    {
      "name": "[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "gcsProfile": {
        "bucketName": "[BUCKET_NAME]",
        "rootPath": "/root/tutorial"
      },
      "noConnectivity": {}
    }
    
  8. Usar la API de Datastream discovery para descubrir los esquemas y las tablas de la base de datos de origen de Oracle Datastream proporciona acceso a esta base de datos a través del perfil de conexión de origen.

    1. Descubre los esquemas de la base de datos de Oracle. En el símbolo del sistema, ingresa el siguiente comando:

      curl -X POST -d "{"connection_profile_name":"projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]"}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles:discover
        

    2. Verifica que Datastream recupere todos los esquemas de la base de datos.

    3. Recupera las tablas de un esquema en tu base de datos. En este instructivo, usarás la API de descubrimiento para recuperar las tablas del esquema ROOT. Sin embargo, puedes descubrir las tablas de cualquier esquema en tu base de datos.

      En el símbolo del sistema, ingresa el siguiente comando:

      curl -X POST -d "{\"connection_profile_name\":\"projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]\", \"oracle_rdbms\":{\"oracleSchemas\":[{\"schemaName\":\"ROOT\"}]}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles:discover
      
    4. Verifica que Datastream recupere todas las tablas del esquema que especificaste (para este instructivo, el esquema ROOT).

Ahora que creó y administró perfiles de conexión para una base de datos de origen de Oracle y un bucket de destino en Cloud Storage, está listo para crear y administrar una transmisión en Datastream.

Crea y administra una transmisión

En esta sección, crearás y administrarás una transmisión. Datastream usa esta transmisión para transferir datos, esquemas y tablas de la base de datos de origen a una carpeta en el bucket de destino de Cloud Storage.

La creación y administración de una transmisión incluye lo siguiente:

  • Validar una transmisión para garantizar que se ejecutará correctamente y que se aprueben todas las verificaciones de validación. Estas verificaciones incluyen lo siguiente:
    • Si la fuente está configurada correctamente para permitir que Datastream transmita datos desde ella.
    • Indica si la transmisión puede conectarse a la fuente y al destino.
    • La configuración de extremo a extremo de la transmisión.
  • Mediante la creación de la transmisión con las siguientes listas:
    • Una lista de admisión. Esta lista especifica las tablas y los esquemas en la base de datos de origen que Datastream puede transferir a una carpeta en el bucket de destino en Cloud Storage. Para este instructivo, esta es la carpeta /root/tutorial.
    • Una lista de rechazo. En esta lista, se especifican las tablas y los esquemas de la base de datos de origen que Datastream no puede transferir a la carpeta en el bucket de destino de Cloud Storage.
  • Recupera información sobre la transmisión
  • Modifica la transmisión
  • Iniciar la transmisión para que Datastream pueda transferir datos, esquemas y tablas de la base de datos de origen a una carpeta en el bucket de destino de Cloud Storage
  • Usa la API de Fetch Errors para detectar cualquier error asociado con la transmisión
  • Pausando la transmisión. Cuando se pausa una transmisión, Datastream no extrae ningún dato nuevo de la base de datos de origen en el bucket de destino.
  • Reanuda la transmisión pausada para que Datastream pueda continuar transfiriendo datos al bucket de destino.

Crea una transmisión

En este procedimiento, creará una transmisión de la base de datos de Oracle de origen a una carpeta en el bucket de Cloud Storage de destino. La transmisión que crees incluirá una lista de elementos permitidos y una lista de rechazos.

  1. Configura una variable SCHEMAS. Esta variable define los esquemas que contienen los datos y las tablas que deseas que Datastream recupere de la base de datos de origen y los transfiera a la carpeta /root/tutorial del bucket de destino de Cloud Storage. En este instructivo, configurarás la variable SCHEMAS para que se asocie con el esquema ROOT.

    En el símbolo del sistema, ingresa el siguiente comando:

    SCHEMAS="{\"oracleSchemas\":[{\"schemaName\":\"ROOT\"}]}"
    
  2. En el símbolo del sistema, ingresa el comando echo $SCHEMAS | jq a fin de ver el esquema ROOT que definiste para esta variable en un texto fácil de leer.

  3. Crea una transmisión. En el símbolo del sistema, ingresa el siguiente comando:

    STREAM="{\"display_name\":\"[DISPLAY_NAME]\",\"source_config\":{\"source_connection_profile_name\":\"[PROJECT_PATH]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",\"oracle_source_config\":{\"allowlist\":$SCHEMAS,\"rejectlist\":{}}},\"destination_config\":{\"destination_connection_profile_name\":\"[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]\",\"gcs_destination_config\":{\"file_rotation_mb\":5,\"file_rotation_interval\":{\"seconds\":15},\"avro_file_format\":{}},\"backfill_all\":{}}"
    
  4. Cuando se te solicite, ingresa el comando echo $STREAM | jq para ver la transmisión que creaste en texto fácil de leer.

    {
      "display_name": "[DISPLAY_NAME]",
      "source_config": {
        "source_connection_profile_name": "[PROJECT_PATH]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "oracle_source_config": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schemaName": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destination_config": {
        "destination_connection_profile_name": "[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "gcs_destination_config": {
          "file_rotation_mb": 5,
          "file_rotation_interval": {
            "seconds": 15
          },
          "avro_file_format": {}
        }
      },
      "backfill_all": {}
    }
    

    Utilice esta tabla para comprender los siguientes parámetros de la transmisión:

    ParámetroDescripción
    allowlistLos esquemas, que contienen tablas y datos, que se transferirán de la base de datos de origen a una carpeta del bucket de destino de Cloud Storage Para este instructivo, todas las tablas y los datos del esquema ROOT (y solo este esquema) se transferirán a la carpeta /root/tutorial del bucket de destino.
    rejectlistCualquier esquema, que contenga tablas y datos, que no se transferirá a una carpeta del bucket de destino de Cloud Storage En este instructivo, el valor {} significa que no se transferirá ninguna tabla ni dato de la base de datos de origen al depósito de destino.
    file_rotation_mbEl tamaño (en MBytes) de los archivos que contienen datos que se transfieren desde la base de datos de origen hacia una carpeta en el bucket de destino de Cloud Storage. Para este instructivo, a medida que los datos se recuperan de la base de datos de origen, se escriben en archivos de 5 MB. Si algún dato excede este tamaño, los datos se segmentarán en varios archivos de 5 MB.
    file_rotation_intervalLa cantidad de segundos que deben transcurrir antes de que Datastream cierre un archivo existente en una carpeta del bucket de destino de Cloud Storage y abra otro archivo para contener los datos que se transfieren desde la base de datos de origen. En este instructivo, el intervalo de rotación de archivos se establece en 15 segundos.
    avro_file_format

    El formato de los archivos que Datastream transferirá de la base de datos de origen a una carpeta del bucket de destino de Cloud Storage. Para este instructivo, Avro es el formato de archivo.

    backfill_all

    Este parámetro está asociado con el reabastecimiento histórico. Si configuras este parámetro como un diccionario vacío ({}), Datastream reabastecerá lo siguiente:

    • Datos históricos, además de cambios continuos en los datos, desde la base de datos de origen hasta el destino.
    • Esquemas y tablas, desde el origen hasta el destino.
  5. Valida la transmisión para asegurarte de que se ejecutará correctamente y que se aprueben todas las verificaciones de validación. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X POST -d $STREAM -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" "https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams?stream_id=[STREAM_ID]&validate_only=true"
    
  6. Verifica que veas la línea de código {}. Esto indica que la transmisión aprobó todas las verificaciones de validación, por lo que no hay errores asociados.

  7. Envía la transmisión para que pueda crearse. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X POST -d $STREAM -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams?stream_id=[STREAM_ID]
    
  8. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[STREAM_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  9. Confirma que se haya creado la transmisión. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams
    
  10. Verifica que recibas un resultado obtenido para la transmisión que creaste.

    {
      "streams": [
        {
          "name": "[PROJECT_PATH]/streams/[STREAM_ID]",
          "createTime": "[DATE_AND_TIME_STAMP]",
          "updateTime": "[DATE_AND_TIME_STAMP]",
          "displayName": "[DISPLAY_NAME]",
          "sourceConfig": {
            "sourceConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
            "oracleSourceConfig": {
              "allowlist": {
                "oracleSchemas": [
                  {
                    "schemaName": "ROOT"
                  }
                ]
              },
              "rejectlist": {}
            }
          },
          "destinationConfig": {
            "destinationConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
          "gcsDestinationConfig": {
              "fileRotationMb": 5,
              "fileRotationInterval": "15s"
              "avroFileFormat": {}
            }
          },
          "state": "CREATED",
          "backfillAll": {}
        }
      ]
    }
    

Administrar la transmisión

En este procedimiento, usa la transmisión que creaste para transferir datos de una base de datos de Oracle de origen a una carpeta en un bucket de destino de Cloud Storage. Incluye lo siguiente:

  • Recupera información sobre la transmisión
  • Modifica la transmisión
  • Iniciando la transmisión
  • Usa la API de Fetch Errors para detectar cualquier error asociado con la transmisión
  • Pausa y reanuda la transmisión
  1. Recupera información sobre la transmisión. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]
    
  2. Verifica que veas información sobre esta transmisión.

    {
      "name": "[PROJECT_PATH]/streams/[STREAM_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schemaName": "ROOT"
              }
            ]
          },
          "rejectlist": {}
         }
        },
        "destinationConfig": {
          "destinationConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
          "gcsDestinationConfig": {
            "fileRotationMb": 5,
            "fileRotationInterval": "15s"
            "avroFileFormat": {}
          }
        },
        "state": "CREATED",
        "backfillAll": {}
      }
    
  3. Modifica esta transmisión. Para ello, primero configura una variable UPDATE. Esta variable contiene los valores de la transmisión que quieres cambiar. Para este instructivo, cambia el tamaño (en MBytes) de los archivos que contienen datos que se transfieren desde la base de datos de origen a una carpeta en el bucket de destino de Cloud Storage (de 5 MBytes a 100 MBytes). A medida que se recuperan los datos de la base de datos de origen, ahora se escriben en archivos de 100 MB. Si algún dato excede este tamaño, los datos se segmentarán en varios archivos de 100 MB.

    Para configurar la variable, en el símbolo del sistema, ingresa el siguiente comando:

    UPDATE="{\"destination_config\":{\"gcs_destination_config\":{\"file_rotation_mb\":100}}}"
    
  4. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X PATCH -d $UPDATE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]/?update_mask=destination_config.gcs_destination_config.file_rotation_mb
    
  5. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[STREAM_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
        "verb": "update",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  6. Confirma que se haya modificado la transmisión. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]
    
  7. Verifica que el valor del parámetro fileRotationMb para el perfil de conexión de Cloud Storage sea 100.

    {
      "name": "[PROJECT_PATH]/streams/[STREAM_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schemaName": "ROOT"
              }
            ]
          },
          "rejectlist": {}
         }
        },
        "destinationConfig": {
          "destinationConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
          "gcsDestinationConfig": {
            "fileRotationMb": 100,
            "fileRotationInterval": "15s"
            "avroFileFormat": {}
          }
        },
        "state": "CREATED",
        "backfillAll": {}
      }
    
  8. Inicia la transmisión. Para ello, deberás hacer lo siguiente:

    1. Cambia la variable UPDATE. En el símbolo del sistema, ingresa el siguiente comando:

      UPDATE="{\"state\":\"RUNNING\"}"
      
    2. Luego, ingresa el siguiente comando:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]?updateMask=state
      
  9. Verifica que veas las siguientes líneas de código.

    {
      "name": "[PROJECT_PATH]/operations/operation-[STREAM_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
        "verb": "start",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  10. Después de unos minutos, recupera información sobre la transmisión para confirmar que comenzó.

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]
    
  11. Verifica que el estado de la transmisión haya cambiado de CREATED a RUNNING.

    {
      "name": "[PROJECT_PATH]/streams/[STREAM_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schemaName": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destinationConfig": {
        "destinationConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "gcsDestinationConfig": {
          "fileRotationMb": 100,
          "fileRotationInterval": "15s"
          "avroFileFormat": {}
        }
      },
      "state": "RUNNING",
      "backfillAll": {}
    }
    
  12. Usa la API de Fetch Errors para recuperar cualquier error asociado con la transmisión.

    1. En el símbolo del sistema, ingresa el siguiente comando:

      curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]:fetchErrors
        

    2. Verifica que veas las siguientes líneas de código:

        {
          "name": "[PROJECT_PATH]/operations/operation-[FETCH_ERRORS_OPERATION_ID]",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
            "createTime": "[DATE_AND_TIME_STAMP]",
            "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
            "verb": "fetchErrors",
            "requestedCancellation": false,
            "apiVersion": "[DATASTREAM_API_VERSION]"
          },
          "done": false
        }
        

    3. En el símbolo del sistema, ingresa el siguiente comando:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/operations/operation-[FETCH_ERRORS_OPERATION_ID]
        

    4. Verifica que veas las siguientes líneas de código:

        {
          "name": "[PROJECT_PATH]/operations/operation-[FETCH_ERRORS_OPERATION_ID]",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
            "createTime": "[DATE_AND_TIME_STAMP]",
            "endTime": "[DATE_AND_TIME_STAMP]",
            "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
            "verb": "fetchErrors",
            "requestedCancellation": false,
            "apiVersion": "[DATASTREAM_API_VERSION]"
          },
          "done": true,
          "response": {
            "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].FetchErrorsResponse"
          }
        }
        

  13. Pausa la transmisión. Para ello, deberás hacer lo siguiente:

    1. Cambia la variable UPDATE. En el símbolo del sistema, ingresa el siguiente comando:

      UPDATE="{\"state\":\"PAUSED\"}"
      
    2. Luego, ingresa el siguiente comando:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]?updateMask=state
      
  14. Verifica que veas las siguientes líneas de código.

    {
      "name": "[PROJECT_PATH]/operations/operation-[STREAM_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
        "verb": "start",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  15. Recupera información sobre la transmisión a fin de confirmar que está pausada.

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]
    
  16. Verifica que el estado de la transmisión haya cambiado de RUNNING a PAUSED.

    {
      "name": "[PROJECT_PATH]/streams/[STREAM_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schemaName": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destinationConfig": {
        "destinationConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "gcsDestinationConfig": {
          "fileRotationMb": 100,
          "fileRotationInterval": "15s"
          "avroFileFormat": {}
        }
      },
      "state": "PAUSED",
      "backfillAll": {}
    }
    
  17. Reanuda la transmisión pausada. Para ello, deberás hacer lo siguiente:

    1. Cambia la variable UPDATE. En el símbolo del sistema, ingresa el siguiente comando:

      UPDATE="{\"state\":\"RUNNING\"}"
      
    2. Luego, ingresa el siguiente comando:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]?updateMask=state
      
  18. Verifica que veas las siguientes líneas de código.

    {
      "name": "[PROJECT_PATH]/operations/operation-[STREAM_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
        "verb": "start",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  19. Después de unos segundos, recupera información sobre la transmisión para confirmar que se esté ejecutando de nuevo.

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]
    
  20. Verifica que el estado de la transmisión haya cambiado de PAUSED a RUNNING.

    {
      "name": "[PROJECT_PATH]/streams/[STREAM_ID]",
      "createTime": "[DATE_AND_TIME_STAMP]",
      "updateTime": "[DATE_AND_TIME_STAMP]",
      "displayName": "[DISPLAY_NAME]",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schemaName": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destinationConfig": {
        "destinationConnectionProfileName": "projects/[YOUR_PROJECT_NUMBER]/locations/[YOUR_PROJECT_LOCATION]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "gcsDestinationConfig": {
          "fileRotationMb": 100,
          "fileRotationInterval": "15s"
          "avroFileFormat": {}
        }
      },
      "state": "RUNNING",
      "backfillAll": {}
    }
    

Ahora que creó y administró una transmisión, confirmó que no hay errores asociados y que el estado de la transmisión es RUNNING, está listo para verificar que pueda transferir datos de la base de datos de origen a una en el bucket de destino de Cloud Storage.

Verifica la transmisión

En este procedimiento, confirmas que Datastream tiene las siguientes características:

  • Transfiere los datos de todas las tablas asociadas con el esquema ROOT de tu base de datos de Oracle de origen a la carpeta /root/tutorial en el bucket de destino de Cloud Storage.
  • Traduce los datos al formato de archivo Avro.
  1. Ve a la página Navegador de Storage en Cloud Storage.

    Ir a la página Navegador de Storage

  2. Haz clic en el vínculo que contiene el bucket.

  3. Si la pestaña OBJETOS no está activa, haz clic en ella.

  4. Haz clic en la carpeta raíz y, luego, en la carpeta instructivo.

  5. Verifica que veas carpetas que representen tablas del esquema ROOT de tu base de datos de origen de Oracle.

  6. Haga clic en una de las carpetas de la tabla y desglose hasta que vea los datos asociados con la tabla.

  7. Haz clic en un archivo que represente los datos y, luego, en DESCARGAR.

  8. Abre este archivo en una herramienta de Avro (por ejemplo, visualizador de Avro) para asegurarte de que el contenido sea legible. Esto confirma que Datastream también tradujo los datos al formato de archivo Avro.

Realice una limpieza

Cuando termines este instructivo, puedes limpiar los recursos que creaste en Datastream para que no consuman tu cuota y no se te facturen en el futuro. En las secciones siguientes, se describe cómo borrar o desactivar estos recursos.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haz lo siguiente:

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra el bucket de destino de Cloud Storage

  1. En el panel lateral izquierdo de navegación de Cloud Storage, haz clic en el elemento Browser.

  2. Seleccione la casilla de verificación que se encuentra a la izquierda de su bucket y haga clic en BORRAR.

  3. ¿En el bucket Borrar? ingresa el nombre del bucket en el campo de texto y haz clic en CONFIRMAR.

Borrar la transmisión

  1. Asegúrese de que su aplicación de Cloud Shell esté activa.

  2. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams/[STREAM_ID]
    
  3. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[STREAM_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/streams/[STREAM_ID]",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  4. Confirma que se haya borrado la transmisión. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/streams
    
  5. Verifica que se muestre un valor {} nulo. Esto significa que ya no hay transmisiones en Datastream y que se borró la que creaste.

Borra los perfiles de conexión

  1. Borra el perfil de conexión a la base de datos de origen de Oracle. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]
    
  2. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[SOURCE_CONNECTION_PROFILE_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/connectionProfiles/[SOURCE_CONNECTION_PROFILE_ID]",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  3. Borra el perfil de conexión en el bucket de destino en Cloud Storage. En el símbolo del sistema, ingresa el siguiente comando:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]
    
  4. Verifica que veas las siguientes líneas de código:

    {
      "name": "[PROJECT_PATH]/operations/operation-[DESTINATION_CONNECTION_PROFILE_OPERATION_ID]",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.[DATASTREAM_API_VERSION].OperationMetadata",
        "createTime": "[DATE_AND_TIME_STAMP]",
        "target": "[PROJECT_PATH]/connectionProfiles/[DESTINATION_CONNECTION_PROFILE_ID]",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "[DATASTREAM_API_VERSION]"
      },
      "done": false
    }
    
  5. Confirma que se hayan borrado ambos perfiles de conexión. En el símbolo del sistema, ingresa el siguiente comando:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/[DATASTREAM_API_VERSION]/[PROJECT_PATH]/connectionProfiles
    
  6. Verifica que se muestre un valor {} nulo. Esto significa que ya no hay perfiles de conexión en Datastream y que se borraron los perfiles que creaste.

¿Qué sigue?

  • Obtén más información sobre Datastream.
  • Prueba otras funciones de Google Cloud. Consulta nuestros instructivos.