Cette page explique comment résoudre les erreurs que vous pouvez rencontrer lors du déploiement de la configuration Cloud Endpoints. Les messages d'erreur que vous voyez contiennent des informations spécifiques à votre projet. Par exemple, il est possible que vous obteniez un message d'erreur contenant l'ID de votre projet. Sur cette page, vous verrez des valeurs d'espace réservé telles que YOUR_PROJECT_ID (ID de votre projet).
Après chaque étape, exécutez à nouveau la commande gcloud endpoints services deploy
pour voir si l'erreur est résolue.
Impossible de convertir en configuration de service
ERROR: unknown location: http: In path template '[PATH]':
unexpected end of input '/'.'
Cette erreur s'affiche lorsqu'un ou plusieurs chemins d'accès dans le document OpenAPI incluent une barre oblique finale (/
). Pour résoudre ce problème, supprimez les barres obliques finales de tous les chemins d'accès. Par exemple, l'extrait suivant d'un document OpenAPI renvoie cette erreur :
paths: "/echo/": post: description: "Echo back a given message."
Pour résoudre ce problème, supprimez la barre oblique finale de /echo/
:
paths: "/echo": post: description: "Echo back a given message."
Non autorisé à obtenir les paramètres du projet
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Not allowed to get project settings for project YOUR_PROJECT_ID
- Authentifiez-vous à nouveau avec gcloud CLI pour confirmer que vous utilisez un compte avec l'autorisation d'accéder au projet affiché dans le message d'erreur:
gcloud auth login
Un nouvel onglet de navigateur vous invite à choisir un compte.
- Confirmez que l'ID de projet affiché dans le message d'erreur correspond au projet Google Cloud dans lequel vous souhaitez déployer la configuration Endpoints :
gcloud projects list
- Confirmez que l'ID du projet au niveau de la gcloud CLI correspond au projet actuel:
gcloud config set project YOUR_PROJECT_ID
L'appelant ne dispose pas de l'autorisation requise
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Caller does not have permission 'servicemanagement.services.create' on
project YOUR_PROJECT_ID
Lorsque vous déployez la configuration Endpoints pour la première fois, Service Management crée un service géré pour votre API. Pour créer un service géré, vous devez disposer au minimum du rôle Éditeur au niveau du projet. Une fois que Service Management a créé le service géré, l'autorisation minimale requise pour redéployer une configuration Endpoints est le rôle Éditeur pour la configuration de service (roles/servicemanagement.configEditor) sur le service. Pour plus d'informations, consultez la page Accorder l'accès à l'API.
La propriété du nom de domaine ne peut pas être validée
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Ownership for domain name YOUR_DOMAIN_NAME on project
YOUR_PROJECT_ID cannot be verified
- Si vous avez un domaine personnalisé (par exemple,
example.com
) configuré dans le champhost
du document OpenAPI, vous devez valider le nom du domaine pour pouvoir déployer le document OpenAPI. - Si vous utilisez le domaine
cloud.goog
, confirmez que la valeur du champhost
est au format suivant et que l'ID de projet est correct :API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
- Si vous utilisez le domaine
appspot.com
(compatible uniquement avec App Engine), confirmez que le champhost
est au format suivant et que l'ID de projet est correct :YOUR_PROJECT_ID.appspot.com
Résoudre d'autres erreurs
Si vous avez reçu une erreur non répertoriée ici ou si ces informations n'ont pas résolu votre problème, exécutez à nouveau la commande gcloud
avec l'option permettant d'afficher les informations de débogage :
gcloud --verbosity=debug endpoints services deploy openapi.yaml