Per importare 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 Bigtable che si trovano in un progetto diverso, segui questi passaggi:
Sostituisci la seguente variabile
PROJECT_NUMBER
con il numero del tuo progetto Gemini Enterprise, poi copia i contenuti di questo blocco di codice. Questo è l'identificatore del tuo account di servizio Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.`
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 dell'account di servizio dell'istanza e seleziona il ruolo Bigtable > Bigtable Reader.
Fai clic su Salva.
Torna al progetto Gemini Enterprise.
Poi, vai a Importare i dati da Bigtable.
Importa dati da Bigtable
REST
Per utilizzare la riga di comando per creare un datastore e importare dati da Bigtable, segui questi passaggi:
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 messaggio potrebbe essere visualizzato nella console Google Cloud .
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 tuo 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.Questo valore può essere sostituito per una colonna specifica elencando la colonna incolumns
e specificando una codifica.COLUMN_TYPE
: facoltativo. Il tipo di valori nella 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 sonoFULL
eINCREMENTAL
. Il valore predefinito èINCREMENTAL
. Se specifichiINCREMENTAL
viene eseguito un aggiornamento incrementale dei dati da Bigtable al tuo datastore. Esegue un'operazione di upsert, che aggiunge nuovi documenti e sostituisce quelli esistenti con documenti aggiornati con lo stesso ID. La specifica diFULL
causa una ribasatura completa dei documenti nel datastore. In altre parole, i documenti nuovi e aggiornati vengono aggiunti al tuo datastore e i documenti che non sono in Bigtable vengono rimossi dal tuo datastore. La modalitàFULL
è utile se vuoi eliminare automaticamente i documenti che non ti servono più.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 ID in più importazioni, Google consiglia vivamente di impostarereconciliationMode
suFULL
per mantenere ID documento coerenti.Specifica
autoGenerateIds
solo quandobigquerySource.dataSchema
è impostato sucustom
. In caso contrario, viene restituito un erroreINVALID_ARGUMENT
. Se non specifichiautoGenerateIds
o lo imposti sufalse
, devi specificareidField
. In caso contrario, l'importazione dei documenti non andrà a buon fine.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.