Importa desde Bigtable

Para transferir datos de Bigtable, sigue estos pasos para crear un almacén de datos y transferir datos con la API.

Configura el acceso a Bigtable

Para otorgarle a Gemini Enterprise acceso a los datos de Bigtable que están en un proyecto diferente, sigue estos pasos:

  1. Reemplaza la siguiente variable PROJECT_NUMBER por tu número de 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. Ir 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 Otorgar acceso.

  4. En Principales nuevas, ingresa 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 Importa datos desde Bigtable.

Importa datos de Bigtable

REST

Para usar la línea de comandos y crear un almacén de datos y transferir datos desde 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"],
    }'
    

    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 minúsculas, 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. Importar 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",
      }'
    

    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 minúsculas, dígitos, guiones bajos y guiones.
    • BIGTABLE_PROJECT_ID: Es el ID de tu proyecto de Bigtable.
    • INSTANCE_ID: Es el ID de tu instancia de Bigtable.
    • TABLE_ID: el ID de tu tabla de Bigtable.
    • KEY_FIELD_NAME: Es opcional, pero se recomienda. Es el nombre del campo que se usará para el valor de la clave de fila después de la transferencia a Gemini Enterprise.
    • KEY: Es obligatorio. Un valor de cadena para la clave de la familia de columnas.
    • ENCODING: es opcional. Es el modo de codificación de los valores cuando el tipo no es STRING.Esto se puede anular para una columna específica si se incluye esa columna en columns y se especifica una codificación para ella.
    • COLUMN_TYPE: es opcional. Es el tipo de valores de esta familia de columnas.
    • QUALIFIER: Es obligatorio. Es el calificador de la columna.
    • FIELD_NAME: Es opcional, pero se recomienda. Es el nombre del campo que se usará para esta columna después de transferirla a Gemini Enterprise.
    • COLUMN_ENCODING: es opcional. Es el modo de codificación de los valores para una columna específica cuando el tipo no es STRING.
    • RECONCILIATION_MODE: es opcional. Los valores son FULL y INCREMENTAL. El valor predeterminado es INCREMENTAL. Especificar INCREMENTAL provoca una actualización incremental de los datos de Bigtable a tu almacén de datos. Esta opción realiza una operación de actualización o inserción, que agrega documentos nuevos y reemplaza los existentes por documentos actualizados con el mismo ID. Especificar FULL provoca una reubicación completa de los documentos en tu almacén de datos. En otras palabras, los documentos nuevos y actualizados se agregan a tu almacén de datos, y los documentos que no están en Bigtable se quitan de tu almacén de datos. 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 los IDs de documento. Si se establece en true, los IDs de documento 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 se mantengan coherentes en varias importaciones. Si generas IDs de forma automática en varias importaciones, Google recomienda establecer reconciliationMode en FULL para mantener IDs de documentos coherentes.

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

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

Próximos pasos