Per importare i dati da Bigtable, segui questi passaggi per creare un datastore e importare i dati utilizzando l'API.
Configurare l'accesso a Bigtable
Per concedere a Gemini Enterprise l'accesso ai dati di Bigtable in un altro progetto:
Sostituisci la seguente variabile
PROJECT_NUMBERcon il numero del progetto Gemini Enterprise, quindi copia i contenuti di questo blocco di codice. Questo è l'identificatore del account di servizio Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`Vai alla pagina IAM e amministrazione.
Passa al progetto Bigtable nella pagina IAM e amministrazione e fai clic su Concedi l'accesso.
In Nuove entità, inserisci l'identificatore del account di servizio dell'istanza e seleziona il ruolo Bigtable Reader.
Fai clic su Salva.
Torna al progetto Gemini Enterprise.
Poi, vai a Importare i dati da Bigtable.
Importare i dati da Bigtable
REST
Per utilizzare la riga di comando per creare un datastore e importare i dati da Bigtable:
Crea un datastore.
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"], }'Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.DATA_STORE_ID: l'ID del datastore. L'ID può contenere solo lettere minuscole, cifre, trattini bassi e trattini.DISPLAY_NAME: il nome visualizzato del datastore. Questo nome potrebbe essere visualizzato nella Google Cloud console.
Importa i dati da 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", }'Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto Gemini Enterprise.DATA_STORE_ID: l'ID del datastore. L'ID può contenere solo lettere minuscole, cifre, trattini bassi e trattini.BIGTABLE_PROJECT_ID: l'ID del tuo progetto Bigtable.INSTANCE_ID: l'ID dell'istanza Bigtable.TABLE_ID: l'ID della tabella Bigtable.KEY_FIELD_NAME: facoltativo, ma consigliato. Il nome del campo da utilizzare per il valore della chiave di riga dopo l'importazione in Gemini Enterprise.KEY: obbligatorio. Un valore stringa per la chiave della famiglia di colonne.ENCODING: facoltativo. La modalità di codifica dei valori quando il tipo non è STRING.Questa impostazione può essere sostituita per una colonna specifica elencando la colonna incolumnse specificando una codifica per la colonna.COLUMN_TYPE: facoltativo. Il tipo di valori in questa famiglia di colonne.QUALIFIER: obbligatorio. Qualificatore della colonna.FIELD_NAME: facoltativo, ma consigliato. Il nome del campo da utilizzare per questa colonna dopo l'importazione in Gemini Enterprise.COLUMN_ENCODING: facoltativo. La modalità di codifica dei valori per una colonna specifica quando il tipo non è STRING.RECONCILIATION_MODE: facoltativo. I valori sonoFULLeINCREMENTAL. Il valore predefinito èINCREMENTAL. Se specifichiINCREMENTAL, i dati di Bigtable vengono aggiornati in modo incrementale nel datastore. Questa operazione esegue un'operazione di upsert, che aggiunge nuovi documenti e sostituisce quelli esistenti con documenti aggiornati con lo stesso ID. Se specifichiFULL, i documenti nel datastore vengono ribasati completamente. In altre parole, i documenti nuovi e aggiornati vengono aggiunti al datastore e i documenti che non sono in Bigtable vengono rimossi dal datastore. La modalitàFULLè utile se vuoi eliminare automaticamente i documenti di cui non hai più bisogno.AUTO_GENERATE_IDS: facoltativo. Specifica se generare automaticamente gli ID documento. Se impostato sutrue, gli ID documento vengono generati in base a un hash del payload. Tieni presente che gli ID documento generati potrebbero non rimanere coerenti in più importazioni. Se generi automaticamente gli ID in più importazioni, Google consiglia vivamente di impostarereconciliationModesuFULLper mantenere ID documento coerenti.Specifica
autoGenerateIdssolo quandobigquerySource.dataSchemaè impostato sucustom. In caso contrario, viene restituito un erroreINVALID_ARGUMENT. Se non specifichiautoGenerateIdso lo imposti sufalse, devi specificareidField. In caso contrario, l'importazione dei documenti non riesce.ID_FIELD: facoltativo. Specifica quali campi sono gli ID documento.
Passaggi successivi
Per collegare il datastore a un'app, crea un'app e seleziona il datastore seguendo i passaggi descritti in Crea un'app di ricerca.
Per visualizzare l'anteprima dell'aspetto dei risultati di ricerca dopo la configurazione dell'app e del datastore, consulta Visualizzare l'anteprima dei risultati di ricerca.