Résoudre les problèmes du tutoriel

Si vous rencontrez des problèmes lors de la configuration de votre tutoriel, cette page répertorie les problèmes que vous pouvez rencontrer et fournit des suggestions de résolution.

Le dossier cloudshell_open est manquant

Si vous ne voyez pas le dossier cloudshell_open dans votre répertoire d'accueil en exécutant ls ~, le dossier et ses fichiers sont perdus. Ce problème survient lorsque vous utilisez Cloud Shell en mode Éphémère et que vous perdez votre connexion Internet ou actualisez la page. Pour résoudre ce problème, relancez le tutoriel depuis le début. Pour éviter de perdre vos fichiers à l'avenir, envisagez de passer au mode par défaut.

Impossible de détecter un ID de projet dans l'environnement actuel

L'erreur suivante se produit lorsque vous tentez d'exécuter un exemple de code:

ERROR Unable to detect a Project Id in the current environment.

Ce problème se produit lorsque votre projet Google Cloud n'est pas défini. Pour résoudre ce problème, définissez le projet en exécutant la commande suivante:

gcloud config set project <YOUR-PROJECT-ID>

Erreurs key.json lors de l'exécution d'exemples de code

L'une des erreurs suivantes se produit lorsque vous exécutez des exemples de code:

File /home/user/key.json is not a valid json file
no JSON input found
The file at /home/user/key.json does not exist, or it is not a file
Could not find file '/home/user/key.json'
Error reading credential file from location /home/user/key.json: Value cannot be null

Ce problème survient lorsque le fichier key.json, utilisé pour authentifier un compte de service, est vide ou manquant. Vous pouvez vérifier si c'est le cas en exécutant la commande suivante:

cat ~/key.json

Le contenu du fichier ou le message No such file or directory s'affiche. Un fichier vide signifie que l'erreur s'est produite lors de la création de la clé. S'il manque un fichier, cela signifie que l'erreur s'est produite avant cette date. Pour résoudre ce problème, suivez le tutoriel "Préparer votre environnement de travail".

Vertex AI Search pour le commerce n'a jamais été utilisé dans un projet ou est désactivé

L'erreur suivante se produit lorsque vous tentez d'exécuter un tutoriel:

PERMISSION_DENIED: Vertex AI Search for retail API has not been used in project <YOUR-PROJECT-ID> before or it is disabled

Pour résoudre ce problème, activez Vertex AI Search pour le commerce sur la page Détails des API/services de la console Google Cloud ou exécutez la commande suivante:

gcloud services enable \
    retail.googleapis.com \
    --project=<YOUR-PROJECT-ID>

Le compte de service ne dispose pas des autorisations nécessaires pour accéder à l'instance de projet

L'erreur suivante se produit lorsque vous attribuez des rôles au compte de service:

User [USER@YOUR-PROJECT-ID.iam.gserviceaccount.com] does not have permission to access projects instance [YOUR-PROJECT-ID:setIamPolicy] (or it may not exist): Policy update access denied.

Pour résoudre ce problème, vérifiez que le bon compte est actif en exécutant la commande gcloud auth list dans le terminal. Assurez-vous que le compte actif est bien le compte de service. Accédez à la page IAM de la console Google Cloud pour vérifier que le compte de service est bien propriétaire de votre projet Google Cloud.

Authentification non valide avec les identifiants de l'utilisateur final

L'erreur suivante se produit lorsque vous exécutez des exemples de code:

PERMISSION_DENIED: Your application has been authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the retail.googleapis.com.

Ce problème se produit lorsque des identifiants d'utilisateur final sont utilisés à la place d'un compte de service. Ce problème peut également se produire lorsqu'un compte de service n'est pas actif ou que les variables d'environnement requises ne sont pas définies. Cette erreur peut s'afficher après avoir redémarré Cloud Shell ou ouvert une nouvelle fenêtre de terminal.

Pour remédier à ce problème :

  1. Suivez la procédure du tutoriel "Préparer votre environnement de travail" et assurez-vous de disposer d'un compte de service actif en exécutant gcloud auth list.
  2. Définissez les variables d'environnement :

    1. Pour toutes les langues, exécutez la commande suivante:
    export GOOGLE_APPLICATION_CREDENTIALS=~/key.json
    
    1. De plus, pour .NET, exécutez la commande suivante:
    export GOOGLE_PROJECT_ID=<YOUR-PROJECT-ID>
    

Erreur d'autorisation lorsque le compte de service ne dispose pas des rôles nécessaires

L'erreur suivante se produit lorsque vous exécutez des exemples de code:

google.api_core.exceptions.PermissionDenied: 403 Permission 'retail.<YOUR-REQUEST>' denied on resource '//retail.googleapis.com/projects/<YOUR-PROJECT-ID>/locations/<YOUR-LOCATION>' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"

Ce problème survient lorsque votre compte de service ne dispose pas des rôles requis: retail.admin et éditeur. Pour résoudre ce problème, configurez votre environnement de travail en suivant la procédure du tutoriel "Préparer votre environnement de travail".

L'opération de recherche n'a renvoyé aucun résultat.

Ce problème survient lorsqu'aucun produit du catalogue ne correspond à votre requête de recherche ou que le catalogue de produits est vide. Pour résoudre ce problème, vérifiez si votre catalogue contient des produits sur la page Catalogue de la console Google Cloud. Si ce n'est pas le cas, importez les données du catalogue en suivant l'étape du tutoriel "Importer des données de catalogue".

Des problèmes persistent

Essayez de réinitialiser Cloud Shell et d'exécuter des tutoriels depuis le début.