Importar de Bigtable

Para ingerir datos de Bigtable, siga estos pasos para crear un almacén de datos e ingerir datos mediante la API.

Configurar el acceso a Bigtable

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

  1. Sustituye la siguiente variable PROJECT_NUMBER por el número de tu proyecto de Gemini Enterprise y, a continuación, 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.`
    
  2. Ve a la página IAM y administración.

    IAM y administración

  3. Cambia a tu proyecto de Bigtable 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 de la instancia y selecciona el rol Bigtable > Lector de Bigtable.

  5. Haz clic en Guardar.

  6. Vuelve a tu proyecto de Gemini Enterprise.

A continuación, ve a Importar datos de Bigtable.

Importar datos de Bigtable

REST

Para usar la línea de comandos para crear un almacén de datos e ingerir datos de Bigtable, 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. Importa datos de Bigtable.

      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 '{
        "bigtableSource ": {
          "projectId": "BIGTABLE_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "tableId": "TABLE_ID",
          "bigtableOptions": {
            "keyFieldName": "KEY_FIELD_NAME",
            "families": {
              "key": "KEY",
              "value": {
                "fieldName": "FIELD_NAME",
                "encoding": "ENCODING",
                "type": "TYPE",
                "columns": [
                  {
                    "qualifier": "QUALIFIER",
                    "fieldName": "FIELD_NAME",
                    "encoding": "COLUMN_ENCODING",
                    "type": "COLUMN_VALUES_TYPE"
                  }
                ]
              }
             }
             ...
          }
        },
        "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.
    • BIGTABLE_PROJECT_ID: el ID de tu proyecto de Bigtable.
    • INSTANCE_ID: el ID de tu instancia de Bigtable.
    • TABLE_ID: el ID de tu tabla de Bigtable.
    • KEY_FIELD_NAME: opcional, pero recomendado. Nombre del campo que se va a usar para el valor de la clave de fila después de la ingestión en Gemini Enterprise.
    • KEY: obligatorio. Valor de cadena de la clave de la familia de columnas.
    • ENCODING: opcional. El modo de codificación de los valores cuando el tipo no es STRING.Se puede anular en una columna específica si se incluye en columns y se especifica una codificación para ella.
    • COLUMN_TYPE: opcional. El tipo de valores de esta familia de columnas.
    • QUALIFIER: obligatorio. Calificador de la columna.
    • FIELD_NAME: opcional, pero recomendado. Nombre del campo que se usará para esta columna después de la ingestión en Gemini Enterprise.
    • COLUMN_ENCODING: opcional. El modo de codificación de los valores de una columna específica cuando el tipo no es STRING.
    • RECONCILIATION_MODE: opcional. Los valores son FULL y INCREMENTAL. El valor predeterminado es INCREMENTAL. Si especificas INCREMENTAL , se realizará una actualización incremental de los datos de Bigtable a 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 a tu almacén de datos, y los documentos que no están en Bigtable se eliminan de tu almacén de datos. El modo FULL es útil si quieres eliminar automáticamente los documentos que ya no necesitas.
    • AUTO_GENERATE_IDS: opcional. Especifica si se deben generar automáticamente los IDs de los documentos. Si se define como true, los IDs de documento se generan a partir de un hash de la carga útil. Ten en cuenta que es posible que los IDs de documento generados no sean coherentes en varias importaciones. Si generas automáticamente IDs en varias importaciones, Google te recomienda que definas reconciliationMode como FULL para mantener IDs de documento coherentes.

      Especifica autoGenerateIds solo cuando bigquerySource.dataSchema se defina como custom. De lo contrario, se devuelve un error INVALID_ARGUMENT. Si no especificas autoGenerateIds o lo defines como false, debes especificar idField. De lo contrario, no se podrán importar los documentos.

    • ID_FIELD: opcional. Especifica qué campos son los IDs de documento.

Pasos siguientes