Solucionar errores de implementación

Si tienes problemas para implementar tu aplicación con la API de Administrador de App Engine, en esta página, se enumeran los mensajes de error que puedes ver y se proporcionan sugerencias sobre cómo corregir cada error.

El emisor no tiene permiso para acceder al proyecto

El siguiente error ocurre cuando implementas tu app:

User EMAIL_ADDRESS does not have permission to access project PROJECT_ID (or it may not exist): The caller does not have permission

Este error se produce si la cuenta que usaste en la implementación de la app no tiene permiso para implementar apps en el proyecto actual.

Para resolver este problema, otorga la función de implementador de App Engine (roles/appengine.deployer) a la cuenta. Si deseas ver qué cuenta usaste para realizar la implementación, realiza una de las siguientes acciones:

  • Si usaste la herramienta de línea de comandos de gcloud para realizar la implementación, ejecuta el comando gcloud auth list.
  • Si realizaste la implementación desde un IDE, consulta la configuración del complemento de Cloud Tools.

No se pudieron recuperar los metadatos de GCR

El siguiente error ocurre cuando implementas tu app:

Failed to fetch metadata from GCR, with reason: generic::permission_denied

Este error se produce si usas el comando gcloud app deploy desde una cuenta de servicio que no tiene la función de administrador de almacenamiento (roles/compute.storageAdmin).

Para resolver este problema, otorga la función de administrador de almacenamiento a la cuenta de servicio:

  • Para ver qué cuenta usaste, ejecuta el comando gcloud auth list.
  • Para comprender por qué asignar solo la función de implementador de App Engine (roles/appengine.deployer) no es suficiente en algunos casos, consulta Funciones de App Engine.

Las cuentas de servicio deben tener permisos en la imagen

El siguiente error ocurre cuando implementas tu app:

The App Engine appspot and App Engine flexible environment service accounts must have permissions on the image IMAGE_NAME

Este error se produce si la cuenta de servicio predeterminada de App Engine no tiene la función de visualizador de objetos de Storage (roles/storage.objectViewer).

Para resolver este problema, otorga la función de visualizador de objetos de Storage a la cuenta de servicio.

No se pudo crear Cloud Build

El siguiente error ocurre cuando implementas tu app:

Failed to create cloud build: Permission denied

Este error ocurre si usas el comando gcloud app deploy desde una cuenta que no tiene la función de editor de Cloud Build (roles/cloudbuild.builds.editor).

Para resolver este problema, otorga la función de editor de Cloud Build a la cuenta de servicio que usas para implementar tu app.

Para ver qué cuenta usaste, ejecuta el comando gcloud auth list.

Error de permisos cuando se recupera la aplicación

El siguiente error ocurre cuando implementas tu app:

Permissions error fetching application apps/app_name. Please make sure you are using the correct project ID and that you have permission to view applications on the project

Este error ocurre si la cuenta que usaste para implementar tu app no tiene la función de implementador de App Engine (roles/appengine.deployer).

Para resolver este problema, verifica si otorgaste la función de implementador de App Engine a la cuenta de servicio que usaste para implementar tu app. Otorga la función si la cuenta de servicio no la tiene. Si deseas ver qué cuenta usaste para realizar la implementación, realiza una de las siguientes acciones:

  • Si usaste la herramienta de línea de comandos de gcloud para realizar la implementación, ejecuta el comando gcloud auth list.
  • Si realizaste la implementación desde un IDE, consulta la configuración del complemento de Cloud Tools.

Se agotó el tiempo de espera para que la infraestructura de la app alcance un buen estado

El siguiente error ocurre cuando implementas tu app:

Timed out waiting for the app infrastructure to become healthy

Varios factores pueden causar este error, como permisos faltantes, errores de código, CPU o memoria insuficientes o verificaciones de estado con errores. El error solo ocurre en el entorno flexible de App Engine.

Para resolver este problema, descarta las siguientes causas posibles:

  1. Verifica si otorgaste la función de editor (roles/editor) a la cuenta de servicio predeterminada de App Engine.

  2. Verifica si la política de la organización del proyecto restringe el acceso a las direcciones IP externas. Para obtener más información, consulta Problemas conocidos del entorno flexible de App Engine.

  3. Verifica si otorgaste las siguientes funciones a la cuenta de servicio que usas para ejecutar tu aplicación (por lo general, la cuenta de servicio predeterminada, app-id@appspot.gserviceaccount.com):

  4. Otorga las funciones si la cuenta de servicio no las tiene.