Importa da Spanner

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

Configurare l'accesso a Spanner da un altro progetto

Se i dati di 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 di Spanner che si trovano 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 Spanner nella pagina IAM e amministrazione e fai clic su Concedi l'accesso.

  4. In Nuove entità, inserisci l'identificatore del 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 > Cloud Spanner Database Admin o un ruolo personalizzato con le autorizzazioni di Cloud Spanner Database Reader 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.

Importare i dati da Spanner

Console

Per utilizzare la console per importare i dati da Spanner:

  1. Nella Google Cloud console, 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, seleziona 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 i dati da Spanner:

  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 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 nome potrebbe essere visualizzato nella Google Cloud console.
  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 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. Indica 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. Se specifichi INCREMENTAL, i dati di Spanner 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 presenti in Spanner 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.

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

Passaggi successivi