Para ingerir datos de Bigtable, sigue estos pasos para crear un almacén de datos y, luego, ingerir datos con la API.
Configura el acceso a Bigtable
Para otorgar acceso a Gemini Enterprise a los datos de Bigtable que se encuentran en un proyecto diferente, sigue estos pasos:
Reemplaza la siguiente variable
PROJECT_NUMBERpor 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`Ve a la página IAM y administración.
Cambia a tu proyecto de Bigtable en la página IAM y administración y haz clic en Otorgar acceso.
En Principales nuevas, ingresa el identificador de la cuenta de servicio de la instancia y selecciona el rol Bigtable > Lector de Bigtable.
Haz clic en Guardar.
Vuelve a tu proyecto de Gemini Enterprise.
A continuación, ve a Importa datos de Bigtable.
Importa datos de Bigtable
REST
Para usar la línea de comandos para crear un almacén de datos y, luego, ingerir datos de Bigtable, sigue estos pasos:
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: 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. Es posible que se muestre en la consola de Google Cloud .
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", }'Reemplaza lo siguiente:
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: 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 ingesta en Gemini Enterprise.KEY: es obligatorio. Es 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 encolumnsy 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 la ingesta en 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 sonFULLyINCREMENTAL. El valor predeterminado esINCREMENTAL. Si especificasINCREMENTAL, se produce una actualización incremental de los datos de Bigtable a tu almacén de datos. Esto realiza una operación de upsert, que agrega documentos nuevos y reemplaza los existentes por documentos actualizados con el mismo ID. Si especificasFULL, se produce 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 tu almacén de datos los documentos que no están en Bigtable. El modoFULLes útil si deseas borrar automáticamente los documentos que ya no necesitas.AUTO_GENERATE_IDS: es opcional. Especifica si se deben generar automáticamente los IDs de los documentos. Si se configura comotrue, los IDs de los documentos se generan en función de un hash de la carga útil. Ten en cuenta que es posible que los IDs de los documentos generados no sigan siendo coherentes en varias importaciones. Si generas IDs automáticamente en varias importaciones, Google recomienda configurarreconciliationModecomoFULLpara mantener IDs de documentos coherentes.Especifica
autoGenerateIdssolo cuandobigquerySource.dataSchemase establece encustom. De lo contrario, se muestra un errorINVALID_ARGUMENT. Si no especificasautoGenerateIdso lo configuras comofalse, debes especificaridField. De lo contrario, no se importarán los documentos.ID_FIELD: es opcional. Especifica qué campos son los IDs de los documentos.
Próximos pasos
Para adjuntar tu almacén de datos a una app, crea una app y selecciona tu almacén de datos con los pasos que se indican en Crea una app de búsqueda.
Para obtener una vista previa de cómo aparecerán los resultados de la búsqueda después de configurar tu app y tu almacén de datos, consulta Obtén una vista previa de los resultados de la búsqueda.