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
Dans la console Google Cloud, accédez à la page Journalisation > Explorateur de journaux.
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.
Sélectionnez Application GAE et Tous les journaux.
Ajustez la période jusqu'à voir une ligne indiquant une erreur.
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 :
|
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 :
|
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 valeurapplication/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
- Sélectionnez
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
Commencez à utiliser l'explorateur de journaux.
Découvrez comment acheminer les journaux.
Utilisez des filtres pour le filtrage avancé, par exemple pour obtenir toutes les requêtes dont la latence dépasse 300 millisecondes.