Sincronizar desde Cloud SQL

Para ingerir datos de Cloud SQL, sigue estos pasos para configurar el acceso a Cloud SQL, crear un almacén de datos e ingerir datos.

Configurar el acceso al bucket de almacenamiento provisional para instancias de Cloud SQL

Al ingerir datos de Cloud SQL, los datos se almacenan primero en un segmento de Cloud Storage. Sigue estos pasos para dar acceso a una instancia de Cloud SQL a segmentos de Cloud Storage.

  1. En la Google Cloud consola, ve a la página SQL.

    SQL

  2. Haz clic en la instancia de Cloud SQL desde la que quieras importar.

  3. Copia el identificador de la cuenta de servicio de la instancia, que tiene el formato de una dirección de correo electrónico, por ejemplo, p9876-abcd33f@gcp-sa-cloud-sql..

  4. Ve a la página IAM y administración.

    IAM y administración

  5. Haz clic en Conceder acceso.

  6. En Principales nuevas, introduce el identificador de la cuenta de servicio de la instancia y selecciona el rol Cloud Storage > Administrador de Storage.

  7. Haz clic en Guardar.

Siguiente:

Configurar el acceso a Cloud SQL desde otro proyecto

Para dar acceso a Gemini Enterprise a los datos de Cloud SQL que se encuentran en otro proyecto, sigue estos pasos:

  1. Sustituye la variable PROJECT_NUMBER por el número de tu proyecto de Gemini Enterprise y, a continuación, copia el contenido del bloque de código. Este es el identificador de tu cuenta de servicio de Gemini Enterprise:

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.
    
  2. Ve a la página IAM y administración.

    IAM y administración

  3. Cambia a tu proyecto de Cloud SQL en la página IAM y administración y haz clic en Conceder acceso.

  4. En Principales nuevas, introduce el identificador de la cuenta de servicio y selecciona el rol Cloud SQL > Lector de Cloud SQL.

  5. Haz clic en Guardar.

A continuación, ve a Importar datos de Cloud SQL.

Importar datos desde Cloud SQL

Consola

Para usar la consola y extraer datos de Cloud SQL, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Gemini Enterprise.

    Gemini Enterprise

  2. Vaya a la página Almacenes de datos.

  3. Haz clic en Crear almacén de datos.

  4. En la página Seleccionar una fuente de datos, elija Cloud SQL.

  5. Especifique el ID del proyecto, el ID de la instancia, el ID de la base de datos y el ID de la tabla de los datos que quiere importar.

  6. Haz clic en Examinar y elige una ubicación intermedia de Cloud Storage a la que exportar los datos. A continuación, haz clic en Seleccionar. También puedes introducir la ubicación directamente en el campo gs://.

  7. Selecciona si quieres activar la exportación sin servidor. La exportación sin servidor conlleva un coste adicional. Para obtener información sobre la exportación sin servidor, consulta el artículo Minimizar el impacto de las exportaciones en el rendimiento de la documentación de Cloud SQL.

  8. Haz clic en Continuar.

  9. Elige una región para tu almacén de datos.

  10. Escribe el nombre del almacén de datos.

  11. Haz clic en Crear.

  12. Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del almacén de datos para ver los detalles en la página Datos. Cuando el estado de la columna de la pestaña Actividad cambie de En curso a Importación completada, la ingesta habrá finalizado.

    En función del tamaño de los datos, la ingestión puede tardar varios minutos o varias horas.

REST

Para crear un almacén de datos e ingerir datos de Cloud SQL mediante la línea de comandos, sigue estos pasos:

  1. Crea un almacén de datos.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
    }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID del almacén de datos. El ID solo puede contener letras minúsculas, dígitos, guiones bajos y guiones.
    • DISPLAY_NAME: el nombre visible del almacén de datos. Puede que se muestre en la consola Google Cloud .
  2. Importar datos de Cloud SQL.

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "cloudSqlSource": {
          "projectId": "SQL_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
          "gcsStagingDir": "STAGING_DIRECTORY"
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto de Gemini Enterprise.
    • DATA_STORE_ID: el ID del almacén de datos. El ID solo puede contener letras minúsculas, dígitos, guiones bajos y guiones.
    • SQL_PROJECT_ID: el ID de tu proyecto de Cloud SQL.
    • INSTANCE_ID: el ID de tu instancia de Cloud SQL.
    • DATABASE_ID: el ID de tu base de datos de Cloud SQL.
    • TABLE_ID: el ID de tu tabla de Cloud SQL.
    • STAGING_DIRECTORY: opcional. Un directorio de Cloud Storage, por ejemplo, gs://<your-gcs-bucket>/directory/import_errors.
    • RECONCILIATION_MODE: opcional. Los valores son FULL y INCREMENTAL. El valor predeterminado es INCREMENTAL. Si se especifica INCREMENTAL , se produce una actualización incremental de los datos de Cloud SQL en tu almacén de datos. De esta forma, se realiza una operación upsert, que añade documentos nuevos y sustituye los documentos que ya existen por documentos actualizados con el mismo ID. Si especificas FULL, se volverán a basar todos los documentos de tu almacén de datos. Es decir, los documentos nuevos y actualizados se añaden al almacén de datos, y los documentos que no están en Cloud SQL se eliminan del almacén de datos. El modo FULL es útil si quieres eliminar automáticamente los documentos que ya no necesitas.

Pasos siguientes