En esta página, se describe cómo solucionar los problemas que pueden surgir durante la implementación de la configuración de Cloud Endpoints. Los mensajes de error que verás contienen información específica de tu proyecto. Por ejemplo, puedes ver un mensaje de error que contenga el ID de tu proyecto. En esta página, verás valores de marcadores de posición, como YOUR_PROJECT_ID.
Después de cada paso, vuelve a ejecutar el comando gcloud endpoints services deploy
para ver si se resolvió el error.
No se puede convertir en la configuración del servicio
ERROR: unknown location: http: In path template '[PATH]':
unexpected end of input '/'.'
Este error se muestra cuando una o más rutas en tu documento de OpenAPI contienen un carácter de barra final (/
). Para solucionar este problema, quita la barra final de todas las rutas. Por ejemplo, el fragmento siguiente de un documento de OpenAPI genera este error:
paths: "/echo/": post: description: "Echo back a given message."
Para solucionarlo, debes quitar la barra final de /echo/
:
paths: "/echo": post: description: "Echo back a given message."
No se puede acceder a la configuración del proyecto
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Not allowed to get project settings for project YOUR_PROJECT_ID
- Vuelve a autenticar con gcloud CLI para confirmar que realizaste la autenticación
con una cuenta que tenga permiso para acceder al proyecto que se muestra en el mensaje de error
mensaje:
gcloud auth login
Se abrirá una pestaña nueva del navegador y se te solicitará que elijas una cuenta.
- Confirma que el ID del proyecto que aparece en el mensaje de error corresponde al proyecto de Google Cloud en el que intentas implementar la configuración de Endpoints:
gcloud projects list
- Verifica que la CLI de gcloud tenga configurado el ID del proyecto correcto como proyecto actual:
gcloud config set project YOUR_PROJECT_ID
El emisor no tiene permisos
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Caller does not have permission 'servicemanagement.services.create' on
project YOUR_PROJECT_ID
Cuando implementas la configuración de Endpoints por primera vez, Service Management crea un servicio administrado para tu API. Como mínimo, debes tener la función de Editor en el nivel del proyecto a fin de crear un servicio administrado. Luego de que Service Management crea el servicio administrado, los permisos mínimos obligatorios para volver a implementar la configuración de Endpoints son los de la función de Editor de configuración de servicio (roles/servicemanagement.configEditor) en el servicio. Para obtener más información, consulta Cómo otorgar acceso a la API.
No se puede verificar la propiedad del nombre de dominio
ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Ownership for domain name YOUR_DOMAIN_NAME on project
YOUR_PROJECT_ID cannot be verified
- Si tienes un dominio personalizado (como
example.com
) configurado en el campohost
de tu documento de OpenAPI, deberás verificar el nombre de dominio antes de poder implementar tu documento de OpenAPI. - Si usas el dominio
cloud.goog
, verifica que el valor del campohost
tenga el formato siguiente y que el ID del proyecto sea correcto:API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
- Si usas el dominio
appspot.com
(compatible solo con App Engine), verifica que el campohost
tenga el formato siguiente y que el ID del proyecto sea correcto:YOUR_PROJECT_ID.appspot.com
Soluciona otros problemas
Si recibiste un error que no figura aquí o si la información no te sirvió para resolver tu problema, vuelve a ejecutar el comando gcloud
con la marca para mostrar la información de depuración:
gcloud --verbosity=debug endpoints services deploy openapi.yaml