Importa da Bigtable

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:

  1. Sostituisci la seguente variabile PROJECT_NUMBER con 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`
    
  2. Vai alla pagina IAM e amministrazione.

    IAM e amministrazione

  3. Passa al progetto Bigtable nella pagina IAM e amministrazione e fai clic su Concedi l'accesso.

  4. In Nuove entità, inserisci l'identificatore del account di servizio dell'istanza e seleziona il ruolo Bigtable Reader.

  5. Fai clic su Salva.

  6. 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:

  1. 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.
  2. 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 in columns e 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 sono FULL e INCREMENTAL. Il valore predefinito è INCREMENTAL. Se specifichi INCREMENTAL , 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 specifichi FULL, 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 su true, 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 impostare reconciliationMode su FULL per mantenere ID documento coerenti.

      Specifica autoGenerateIds solo quando bigquerySource.dataSchema è impostato su custom. In caso contrario, viene restituito un errore INVALID_ARGUMENT. Se non specifichi autoGenerateIds o lo imposti su false, devi specificare idField. In caso contrario, l'importazione dei documenti non riesce.

    • ID_FIELD: facoltativo. Specifica quali campi sono gli ID documento.

Passaggi successivi