Esta página proporciona información general sobre la solución de problemas y vínculos a otras páginas para obtener información adicional.
Errores al implementar la configuración de Cloud Endpoints
Si recibiste un mensaje de error del comando gcloud endpoints services deploy
, consulta Solucionar problemas en la implementación de la configuración de Endpoints para obtener información sobre cómo solucionar el error.
Errores que se generan cuando se implementa el backend de tu API
La implementación de tu API y del Proxy de servicio extensible (ESP) en un backend de Google Cloud depende de la plataforma. Consulta las guías de solución de problemas siguientes para obtener más información:
Respuestas de error
Cuando envíes una solicitud a tu API y recibas una respuesta de error, consulta Cómo solucionar errores de respuesta para obtener información sobre cómo solucionar el error.
Verifica los servicios obligatorios
Verifica los servicios requeridos
Como mínimo, Endpoints y ESP requieren que se habiliten los siguientes servicios de Google:Name | Título |
---|---|
servicemanagement.googleapis.com |
API de Administración de servicios |
servicecontrol.googleapis.com |
Service Control API |
En la mayoría de los casos, el comando de gcloud endpoints services deploy
habilita estos servicios obligatorios. Sin embargo, el comando gcloud
se completa de manera correcta sin habilitar los servicios requeridos en las circunstancias siguientes:
Usaste una aplicación de terceros, como Terraform, y no incluiste estos servicios.
Si implementaste la configuración de Endpoints en un proyecto existente de Google Cloud en el que se inhabilitaron explícitamente estos servicios
Usa el siguiente comando para confirmar que los servicios requeridos están habilitados:
gcloud services list
Si no ves los servicios necesarios que se incluyeron en la lista, habilítalos:
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
También habilita el servicio de Endpoints:
gcloud services enable ENDPOINTS_SERVICE_NAME
Para determinar la variable ENDPOINTS_SERVICE_NAME, puedes hacer lo siguiente:
Después de implementar la configuración de Endpoints, ve a la página Endpoints en la consola de Cloud. La lista de posibles ENDPOINTS_SERVICE_NAME se muestra en la columna Nombre del servicio.
Para OpenAPI, el ENDPOINTS_SERVICE_NAME es lo que especificaste en el campo
host
de tu especificación de OpenAPI. Para gRPC, el ENDPOINTS_SERVICE_NAME es lo que especificaste en el camponame
de tu configuración de Endpoints de gRPC.
Para obtener más información sobre los comandos gcloud
, consulta servicios de gcloud
.
Verifica los permisos necesarios
La instancia que ejecuta el proxy de servicio extensible necesita permisos para llamar a la Administración de servicios y ServiceControl.
En el ESP implementado en Cloud Run, consulta Compila una imagen de ESPv2 nueva en el instructivo de Cloud Run para obtener más detalles.
En el ESP implementado en Compute Engine, consulta Verifica los permisos obligatorios en el instructivo de Compute Engine para obtener más detalles.
En el ESP implementado en GKE, consulta Instructivo de verificación de los permisos obligatorios en GKE a fin de obtener más detalles.
Verificar información de depuración
Ejecutar Google Cloud CLI con verbosidad de depuración ayuda con la depuración.
gcloud --verbosity=debug COMMAND
Este comando hace que Google Cloud CLI imprima un registro detallado del error. Según el comando que se ejecute, el resultado puede incluir información de la solicitud y respuesta del servidor.
Habilita un servicio
Puedes verificar si un servicio está habilitado con gcloud
.
gcloud services list
Para mostrar la configuración de un servicio en particular, usa el comando siguiente:
gcloud endpoints services describe SERVICE_NAME
El proxy OAuth falla, pero las solicitudes pasan
Asegúrate de que haya una sección authentication
que contenga la definición de tu OAuth en tu archivo de configuración de la API de gRPC. Hay disponible un archivo de configuración de ejemplo en la Muestra de Bookstore en GitHub.