Cómo importar desde AlloyDB para PostgreSQL

Para transferir datos desde AlloyDB para PostgreSQL, sigue estos pasos para crear un almacén de datos y transferir datos con la consola de Google Cloud o la API.

Si tus datos de AlloyDB para PostgreSQL se encuentran en el mismo proyecto que el proyecto de Gemini Enterprise, ve a Import data from AlloyDB for PostgreSQL.

Si tus datos de AlloyDB para PostgreSQL se encuentran en un proyecto diferente al de Gemini Enterprise, consulta Cómo configurar el acceso a AlloyDB para PostgreSQL.

Configura el acceso a AlloyDB para PostgreSQL desde otro proyecto

Para otorgar acceso a Gemini Enterprise a los datos de AlloyDB para PostgreSQL que se encuentran en otro proyecto, sigue estos pasos:

  1. Reemplaza la siguiente variable PROJECT_NUMBER por el número de tu proyecto de Gemini Enterprise y, luego, copia el contenido de este bloque de código. Este es el identificador de tu cuenta de servicio de Gemini Enterprise:

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
    
  2. Cambia al proyecto Google Cloud en el que residen tus datos de AlloyDB para PostgreSQL.

  3. Ir a la página IAM.

    IAM

  4. Haz clic en Otorgar acceso.

  5. En Nuevos principales, ingresa el identificador de la cuenta de servicio de Gemini Enterprise y selecciona el rol Cloud AlloyDB > Administrador de Cloud AlloyDB.

  6. Haz clic en Guardar.

  7. Vuelve a tu proyecto de Gemini Enterprise.

A continuación, ve a Importar datos desde AlloyDB para PostgreSQL.

Importa datos de AlloyDB para PostgreSQL

Console

Para usar la consola y transferir datos de AlloyDB para PostgreSQL, sigue estos pasos:

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

    Gemini Enterprise

  2. En el menú de navegación, haz clic en Almacenes de datos.

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

  4. En la página Selecciona una fuente de datos, elige AlloyDB.

  5. Especifica el ID del proyecto, el ID de la ubicación, el ID del clúster, el ID de la base de datos y el ID de la tabla de los datos que planeas importar.

  6. Haz clic en Continuar.

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

  8. Ingresa un nombre para tu almacén de datos.

  9. Haz clic en Crear.

  10. Para verificar el estado de la transferencia, ve a la página Almacenes de datos y haz clic en el nombre del conector para ver los detalles en la página Datos. Cuando la columna de estado de la pestaña Actividad cambie de En curso a Se completó la importación, se habrá completado la transferencia.

    Según el tamaño de tus datos, la transferencia puede tardar varios minutos o varias horas.

REST

Para usar la línea de comandos para crear un almacén de datos y transferir datos desde AlloyDB para PostgreSQL, 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/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
    }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: Es el ID del almacén de datos. El ID solo puede contener letras en minúscula, dígitos, guiones bajos y guiones.
    • DISPLAY_NAME: Es el nombre visible del almacén de datos. Esto podría mostrarse en la consola de Google Cloud .
  2. Importa datos de AlloyDB para PostgreSQL.

      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 '{
        "alloyDbSource": {
          "projectId": "ALLOYDB_PROJECT_ID",
          "locationId": "LOCATION_ID",
          "clusterId": "CLUSTER_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu proyecto de Gemini Enterprise.
    • DATA_STORE_ID: Es el ID del almacén de datos. El ID solo puede contener letras en minúscula, dígitos, guiones bajos y guiones.
    • ALLOYDB_PROJECT_ID: Es el ID de tu proyecto de AlloyDB para PostgreSQL.
    • LOCATION_ID: Es el ID de tu ubicación de AlloyDB para PostgreSQL.
    • CLUSTER_ID: Es el ID de tu clúster de AlloyDB para PostgreSQL.
    • DATABASE_ID: Es el ID de tu base de datos de AlloyDB para PostgreSQL.
    • TABLE_ID: Es el ID de tu tabla de AlloyDB para PostgreSQL.
    • RECONCILIATION_MODE: es opcional. Los valores son FULL y INCREMENTAL. El valor predeterminado es INCREMENTAL. Si especificas INCREMENTAL, se produce una actualización incremental de los datos de AlloyDB para PostgreSQL en tu almacén de datos. Esta acción realiza una operación de upsert, que agrega documentos nuevos y reemplaza los existentes por documentos actualizados con el mismo ID. Si especificas FULL, se realizará una nueva base completa de los documentos en tu almacén de datos. En otras palabras, se agregan documentos nuevos y actualizados a tu almacén de datos, y se quitan de él los documentos que no están en AlloyDB para PostgreSQL. El modo FULL es útil si quieres borrar automáticamente los documentos que ya no necesitas.
    • AUTO_GENERATE_IDS: es opcional. Especifica si se deben generar automáticamente IDs de documentos. Si se establece en true, los IDs de documentos se generan en función de un hash de la carga útil. Ten en cuenta que es posible que los IDs de documentos generados no sigan siendo coherentes en varias importaciones. Si generas IDs automáticamente en varias importaciones, Google recomienda establecer reconciliationMode en FULL para mantener IDs de documentos coherentes.
    • ID_FIELD: es opcional. Especifica qué campos son los IDs de documento.

Próximos pasos