Importa da Spanner

Per importare dati da Spanner, segui questi passaggi per creare un datastore e importare i dati utilizzando la console Google Cloud o l'API.

Configurare l'accesso a Spanner da un altro progetto

Se i dati Spanner si trovano nello stesso progetto di Gemini Enterprise, vai a Importare i dati da Spanner.

Per concedere a Gemini Enterprise l'accesso ai dati Spanner che si trovano in un progetto diverso, segui questi passaggi:

  1. Sostituisci la seguente variabile PROJECT_NUMBER con il numero del tuo progetto Gemini Enterprise, quindi copia i contenuti di questo blocco di codice. Questo è l'identificatore del tuo 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 Spanner nella pagina IAM e amministrazione e fai clic su Concedi l'accesso.

  4. In Nuove entità, inserisci l'identificatore per il account di servizio e seleziona una delle seguenti opzioni:

    • Se non utilizzerai Data Boost durante l'importazione, seleziona il ruolo Cloud Spanner > Cloud Spanner Database Reader.
    • Se prevedi di utilizzare Data Boost durante l'importazione, seleziona il ruolo Cloud Spanner > Amministratore database Cloud Spanner o un ruolo personalizzato con le autorizzazioni di Lettore database Cloud Spanner e spanner.databases.useDataBoost. Per informazioni su Data Boost, consulta la Panoramica di Data Boost nella documentazione di Spanner.
  5. Fai clic su Salva.

Poi, vai a Importare i dati da Spanner.

Importa dati da Spanner

Console

Per utilizzare la console per importare i dati da Spanner, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

    Gemini Enterprise

  2. Vai alla pagina Datastore.

  3. Fai clic su Crea datastore.

  4. Nella pagina Seleziona un'origine dati, scegli Cloud Spanner.

  5. Specifica l'ID progetto, l'ID istanza, l'ID database e l'ID tabella dei dati che prevedi di importare.

  6. Seleziona se attivare Data Boost. Per informazioni su Data Boost, consulta la Panoramica di Data Boost nella documentazione di Spanner.

  7. Fai clic su Continua.

  8. Seleziona una regione per il datastore.

  9. Inserisci un nome per il tuo datastore.

  10. Fai clic su Crea.

  11. Per controllare lo stato dell'importazione, vai alla pagina Datastore e fai clic sul nome del datastore per visualizzarne i dettagli nella pagina Data (Dati). Quando la colonna dello stato nella scheda Attività cambia da In corso a Importazione completata, l'importazione è terminata.

    A seconda delle dimensioni dei dati, l'importazione può richiedere diversi minuti o diverse ore.

REST

Per utilizzare la riga di comando per creare un datastore e importare dati da Spanner, segui questi passaggi:

  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"],
      "contentConfig": "CONTENT_REQUIRED",
    }'
    

    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.
    • DISPLAY_NAME: il nome visualizzato del datastore. Questo messaggio potrebbe essere visualizzato nella console Google Cloud .
  2. Importa i dati da Spanner.

      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 '{
        "cloudSpannerSource": {
          "projectId": "SPANNER_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
          "enableDataBoost": "DATA_BOOST_BOOLEAN"
        },
        "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.
    • SPANNER_PROJECT_ID: l'ID del progetto Spanner.
    • INSTANCE_ID: l'ID dell'istanza Spanner.
    • DATABASE_ID: l'ID del database Spanner.
    • TABLE_ID: l'ID della tabella Spanner.
    • DATA_BOOST_BOOLEAN: facoltativo. Se attivare Data Boost. Per informazioni su Data Boost, consulta la panoramica di Data Boost nella documentazione di Spanner.
    • RECONCILIATION_MODE: facoltativo. I valori sono FULL e INCREMENTAL. Il valore predefinito è INCREMENTAL. La specifica di INCREMENTAL causa un aggiornamento incrementale dei dati da Spanner al datastore. Esegue un'operazione di upsert, che aggiunge nuovi documenti e sostituisce quelli esistenti con documenti aggiornati con lo stesso ID. La specifica di FULL causa una ribasatura completa dei documenti nel datastore. In altre parole, i documenti nuovi e aggiornati vengono aggiunti al datastore, mentre quelli che non sono in Spanner vengono rimossi. 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 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 ID in più importazioni, Google consiglia vivamente di impostare reconciliationMode su FULL per mantenere ID documento coerenti.

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

Passaggi successivi