Résoudre des problèmes concernant les erreurs de réponse

Si vous n'obtenez pas de réponse satisfaisante à une requête adressée à votre API Cloud Endpoints Frameworks, vous pouvez utiliser Cloud Logging dans la console Google Cloud pour résoudre le problème.

Afficher les journaux

  1. Dans la console Google Cloud, accédez à la page Journalisation > Explorateur de journaux.

    Accéder à la page "Explorateur de journaux"

  2. Dans la liste déroulante des projets en haut de la page, sélectionnez le projet Google Cloud dans lequel vous avez créé votre API.

  3. Sélectionnez Application GAE et Tous les journaux.

  4. Ajustez la période jusqu'à voir une ligne indiquant une erreur.

  5. Cliquez sur Tout développer pour afficher l'intégralité du journal correspondant à l'erreur.

La section suivante fournit des informations de dépannage pour des messages d'erreur spécifiques. Si vous ne parvenez pas à résoudre le problème, copiez l'une des entrées du journal indiquant l'erreur et collez-la dans un fichier texte. Joignez le journal à toute communication que vous avez avec Google.

503 Service Unavailable

App Engine peut prendre quelques minutes pour répondre favorablement aux requêtes. Si vous envoyez une requête et que vous obtenez une erreur 503, attendez quelques minutes et relancez la requête. Si vous n'obtenez toujours pas de réponse satisfaisante, consultez les journaux Cloud Logging. Voici quelques messages d'erreur susceptibles de s'afficher dans les journaux Cloud Logging.

Message d'erreur Dépannage
Aucun service YOUR_PROJECT_ID.appspot.com trouvé ou autorisation refusée. S'il s'agit d'un nouveau service Endpoints, assurez-vous que vous avez déployé la configuration du service à l'aide de gcloud. Endpoints Frameworks pour Python consigne cette erreur lorsqu'il ne parvient pas à charger la configuration du service que vous avez spécifié dans le fichier app.yaml. Cette erreur peut survenir si vous n'avez pas déployé le document OpenAPI pour votre API à l'aide de gcloud endpoints services deploy ou si l'API Service Management n'est pas activée. Lorsque vous déployez le document OpenAPI pour votre API, la commande gcloud active automatiquement les éléments suivants :
  • API Service Management (servicemanagement.googleapis.com)
  • Endpoints (endpoints.googleapis.com)
  • API Cloud (cloudapis.googleapis.com)
Si vous avez désactivé l'un de ces services, vous devez le réactiver. Consultez la page Activer et désactiver des API pour en savoir plus.
Le service YOUR_PROJECT_ID.appspot.com a été trouvé, mais aucune configuration de service n'a été trouvée pour la version SERVICE_CONFIG_ID. Endpoints Frameworks pour Python consigne cette erreur lorsqu'il ne parvient pas à trouver l'ID de configuration de service que vous avez spécifié pour ENDPOINTS_SERVICE_VERSION dans le fichier app.yaml. Solution :
  1. Récupérez l'ID de configuration du service.
  2. Modifiez votre fichier app.yaml et définissez ENDPOINTS_SERVICE_VERSION sur l'ID de configuration du service.
  3. Redéployez votre application :
    gcloud app deploy

404 Not Found

Si vous avez récemment migré vers la version 2 de Endpoints Frameworks et que vous obtenez le message d'erreur 404 Not Found, consultez les sections suivantes pour résoudre le problème :

Problèmes avec l'exemple Invoke-WebRequest

Dans certaines versions de Windows PowerShell, l'exemple Invoke-WebRequest utilisé dans les tutoriels échoue. Nous avons également reçu un rapport indiquant que la réponse contenait une liste d'octets non signés devant être convertis en caractères. Si l'exemple Invoke-WebRequest n'a pas renvoyé le résultat attendu, essayez d'envoyer la requête à l'aide d'une autre application. Voici quelques suggestions :

  • Démarrez Cloud Shell et suivez les instructions Linux du tutoriel que vous avez utilisé pour envoyer la requête.
  • Utilisez une application tierce telle que l'extension Postman du navigateur Chrome (disponible sur www.getpostman.com). Lors de la création de la requête dans Postman :

    • Sélectionnez POST comme verbe HTTP.
    • Pour l'en-tête, sélectionnez la clé content-type et la valeur application/json.
    • Pour le corps de la requête, saisissez : {"message":"hello world"}
    • Entrez l'URL de l'exemple d'application. Exemple :

      https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
      
  • Téléchargez et installez curl, que vous exécutez dans l'invite de commande. Comme Windows ne gère pas les guillemets doubles imbriqués dans les guillemets simples, vous devez modifier l'option --data dans l'exemple, comme suit : --data "{\"message\":\"hello world\"}"

Étape suivante