Importer depuis Cloud SQL

Pour ingérer des données à partir de Cloud SQL, procédez comme suit pour configurer l'accès à Cloud SQL, créer un data store et ingérer des données.

Configurer l'accès au bucket de préproduction pour les instances Cloud SQL

Lorsque vous ingérez des données à partir de Cloud SQL, elles sont d'abord préproduites dans un bucket Cloud Storage. Procédez comme suit pour accorder à une instance Cloud SQL l'accès aux buckets Cloud Storage.

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

    SQL

  2. Cliquez sur l'instance Cloud SQL à partir de laquelle vous prévoyez d'importer des données.

  3. Copiez l'identifiant du compte de service de l'instance, qui ressemble à une adresse e-mail (par exemple, p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com)

  4. Accédez à la page IAM et administration.

    IAM et administration

  5. Cliquez sur Accorder l'accès.

  6. Dans le champ Nouveaux comptes principaux, saisissez l'identifiant du compte de service de l'instance et sélectionnez le rôle Cloud Storage > Administrateur du stockage.

  7. Cliquez sur Enregistrer.

Suivant :

Configurer l'accès à Cloud SQL depuis un autre projet

Pour accorder à Gemini Enterprise l'accès aux données Cloud SQL 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 du 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. Basculez vers votre projet Cloud SQL sur la page IAM et administration , puis cliquez sur Accorder l'accès.

  4. Dans le champ Nouveaux comptes principaux, saisissez l'identifiant du compte de service et sélectionnez le rôle Cloud SQL > Lecteur Cloud SQL.

  5. Cliquez sur Enregistrer.

Ensuite, accédez à Importer des données depuis Cloud SQL.

Importer des données depuis Cloud SQL

Console

Pour utiliser la console afin d'ingérer des données à partir de Cloud SQL, 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 SQL.

  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. Cliquez sur Parcourir , choisissez un emplacement Cloud Storage intermédiaire vers lequel exporter les données, puis cliquez sur Sélectionner. Vous pouvez également saisir l'emplacement directement dans le champ gs://.

  7. Indiquez si vous souhaitez activer l'exportation sans serveur. L'exportation sans serveur entraîne des coûts supplémentaires. Pour en savoir plus sur l'exportation sans serveur, consultez la section Réduire l' impact des exportations sur les performances dans la documentation Cloud SQL.

  8. Cliquez sur Continuer.

  9. Choisissez une région pour votre datastore.

  10. Attribuez un nom à votre datastore

  11. Cliquez sur Créer.

  12. 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 utiliser la ligne de commande afin de créer un data store et d'ingérer des données à partir de Cloud SQL, 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"],
    }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.
    • DATA_STORE_ID : par l'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 : par le nom à afficher pour le data store. Il peut s'afficher dans la Google Cloud console.
  2. Importer des données depuis Cloud SQL

      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 '{
        "cloudSqlSource": {
          "projectId": "SQL_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
          "gcsStagingDir": "STAGING_DIRECTORY"
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID de votre projet Gemini Enterprise.
    • DATA_STORE_ID : par l'ID du data store. L'ID ne peut contenir que des lettres minuscules, des chiffres, des traits de soulignement et des traits d'union.
    • SQL_PROJECT_ID : par l'ID de votre projet Cloud SQL.
    • INSTANCE_ID : par l'ID de votre instance Cloud SQL.
    • DATABASE_ID : par l'ID de votre base de données Cloud SQL.
    • TABLE_ID : par l'ID de votre table Cloud SQL.
    • STAGING_DIRECTORY : facultatif. Un répertoire Cloud Storage , par exemple, gs://<your-gcs-bucket>/directory/import_errors.
    • 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 Cloud SQL sont actualisées de manière incrémentielle dans votre data store. Une opération d'upsert 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 Cloud SQL 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.

Étapes suivantes