Importer depuis Spanner

Pour ingérer des données à partir de Spanner, procédez comme suit pour créer un data store et ingérer des données à l'aide de la Google Cloud console ou de l'API.

Configurer l'accès à Spanner depuis un autre projet

Si vos données Spanner se trouvent dans le même projet que Gemini Enterprise, passez à Importer des données depuis Spanner.

Pour accorder à Gemini Enterprise l'accès aux données Spanner qui se trouvent dans un autre projet, procédez comme suit :

  1. Remplacez la variable PROJECT_NUMBER suivante par le numéro de votre projet Gemini Enterprise, puis copiez le contenu de ce bloc de code. Il s'agit de l'identifiant de votre compte de service Gemini Enterprise :

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
    
  2. Accédez à la page IAM et administration.

    IAM et administration

  3. Passez à votre projet Spanner sur la page IAM et administration , puis cliquez sur Accorder l'accès.

  4. Pour Nouveaux comptes principaux, saisissez l'identifiant du compte de service et sélectionnez l'une des options suivantes :

    • Si vous n'utilisez pas Data Boost lors de l'importation, sélectionnez le rôle Cloud Spanner > Lecteur de base de données Cloud Spanner.
    • Si vous prévoyez d'utiliser Data Boost lors de l'importation, sélectionnez le rôle Cloud Spanner > Administrateur de base de données Cloud Spanner ou un rôle personnalisé avec les autorisations de Lecteur de base de données Cloud Spanner et spanner.databases.useDataBoost. Pour en savoir plus sur Data Boost, consultez la présentation de Data Boost dans la documentation Spanner.
  5. Cliquez sur Enregistrer.

Ensuite, passez à Importer des données depuis Spanner.

Importer des données depuis Spanner

Console

Pour ingérer des données à partir de Spanner à l'aide de la console, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la Gemini Enterprise page.

    Gemini Enterprise

  2. Accédez à la page Datastores.

  3. Cliquez sur Créer un datastore.

  4. Sur la page Sélectionner une source de données, sélectionnez Cloud Spanner.

  5. Spécifiez l'ID du projet, l'ID de l'instance, l'ID de la base de données et l'ID de la table des données que vous prévoyez d'importer.

  6. Indiquez si vous souhaitez activer Data Boost. Pour en savoir plus sur Data Boost, consultez la présentation de Data Boost dans la documentation Spanner.

  7. Cliquez sur Continuer.

  8. Choisissez une région pour votre datastore.

  9. Attribuez un nom à votre datastore

  10. Cliquez sur Créer.

  11. Pour vérifier l'état de l'ingestion, accédez à la page Datastores, puis cliquez sur le nom de votre datastore pour afficher des informations détaillées sur la page Données. Lorsque la colonne "État" de l'onglet Activité passe de En cours à Importation terminée, l'ingestion est terminée.

    Selon la taille de vos données, l'ingestion peut prendre de quelques minutes à plusieurs heures.

REST

Pour créer un data store et ingérer des données à partir de Spanner à l'aide de la ligne de commande, procédez comme suit :

  1. Créer un data store

    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",
    }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Gemini Enterprise.
    • DATA_STORE_ID : ID du data store. L'ID ne peut contenir que des lettres minuscules, des chiffres, des traits de soulignement et des traits d'union.
    • DISPLAY_NAME : nom à afficher pour le data store. Il peut s'afficher dans la Google Cloud console.
  2. Importer des données depuis 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",
      }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Gemini Enterprise.
    • DATA_STORE_ID : ID du data store.
    • SPANNER_PROJECT_ID : ID de votre projet Spanner.
    • INSTANCE_ID : ID de votre instance Spanner.
    • DATABASE_ID : ID de votre base de données Spanner.
    • TABLE_ID : ID de votre table Spanner.
    • DATA_BOOST_BOOLEAN : facultatif. Indique si Data Boost doit être activé. Pour en savoir plus sur Data Boost, consultez la présentation de Data Boost dans la documentation Spanner.
    • RECONCILIATION_MODE : facultatif. Les valeurs sont FULL et INCREMENTAL. La valeur par défaut est INCREMENTAL. Si vous spécifiez INCREMENTAL, les données de Spanner sont actualisées de manière incrémentielle dans votre data store. Une opération d'insertion/mise à jour est alors effectuée, ce qui ajoute de nouveaux documents et remplace les documents existants par des documents modifiés portant le même ID. Si vous spécifiez FULL, les documents de votre data store sont entièrement rebasés. En d'autres termes, les documents nouveaux et modifiés sont ajoutés à votre data store, et les documents qui ne se trouvent pas dans Spanner sont supprimés de votre data store. Le mode FULL est utile si vous souhaitez supprimer automatiquement les documents dont vous n'avez plus besoin.
    • AUTO_GENERATE_IDS : facultatif. Indique si les ID de document doivent être générés automatiquement. Si la valeur est true, les ID de document sont générés en fonction d'un hachage de la charge utile. Notez que les ID de document générés peuvent ne pas rester cohérents sur plusieurs importations. Si vous générez automatiquement des ID sur plusieurs importations, Google vous recommande vivement de définir reconciliationMode sur FULL pour conserver des ID de document cohérents.

    • ID_FIELD : facultatif. Spécifie les champs qui sont les ID de document.

Étapes suivantes