El entorno de ejecución de Go 1.11 es la pila de software responsable de instalar el código de tu servicio web y sus dependencias, además de ejecutar tu servicio.
El entorno de ejecución de Go 1.11 para App Engine en el entorno estándar se declara en el archivo app.yaml
:
runtime: go111
Versión de Go
El entorno de ejecución de Go 1.11 usa la última versión estable de Go 1.11. App Engine se actualiza de forma automática a medida que se lanzan nuevas revisiones menores, pero no se actualizará automáticamente ante una nueva versión principal.
Por ejemplo, tu aplicación podría implementarse en Go 1.11.1 y actualizarse de forma automática a la versión 1.11.2 en una implementación posterior, pero no se actualizará de forma automática a Go 1.12.
Dependencias
Para obtener más información sobre la declaración y administración de dependencias, consulta Especifica dependencias.
Variables de entorno
El entorno de ejecución configura las siguientes variables del entorno:
Variable de entorno | Descripción |
---|---|
GAE_APPLICATION
|
ID de tu aplicación de App Engine. Este ID tiene el prefijo “region code~”, como “e~”, para aplicaciones implementadas en Europa. |
GAE_DEPLOYMENT_ID |
ID de la implementación actual. |
GAE_ENV |
Entorno de App Engine. Se define en standard . |
GAE_INSTANCE |
ID de la instancia en la que se está ejecutando tu servicio. |
GAE_MEMORY_MB |
Cantidad de memoria disponible para el proceso de la aplicación, en MB. |
GAE_RUNTIME |
Entorno de ejecución especificado en el archivo app.yaml . |
GAE_SERVICE |
Nombre de servicio especificado en el archivo app.yaml . Si no se especifica un nombre de servicio, se asigna default . |
GAE_VERSION |
Etiqueta de la versión actual de tu servicio. |
GOOGLE_CLOUD_PROJECT |
ID del proyecto de Google Cloud asociado a tu aplicación. |
PORT |
Puerto que recibe las solicitudes HTTP. |
Puedes definir variables de entorno adicionales en tu archivo app.yaml
, pero los valores anteriores no se pueden anular.
Proxies HTTPS y de reenvío
App Engine finaliza las conexiones HTTPS en el balanceador de cargas y reenvía las solicitudes a tu aplicación. Algunas aplicaciones deben determinar la IP y el protocolo de la solicitud original. La dirección IP del usuario está disponible en el encabezado X-Forwarded-For
estándar. Las aplicaciones que necesitan esta información deben configurar sus frameworks web para que confíen en el proxy.
Sistema de archivos
El entorno de ejecución incluye un directorio /tmp
que admite escritura, y todos los demás directorios tienen acceso de solo lectura. Escribir en /tmp
ocupa memoria del sistema. Para obtener
más información, consulta la documentación de
TempDir
y
TempFile
.
Servidor de metadatos
Cada instancia de tu aplicación puede usar el servidor de metadatos de App Engine para consultar la información acerca de la instancia y del proyecto.
Puedes acceder al servidor de metadatos a través de los siguientes extremos:
http://metadata
http://metadata.google.internal
Las solicitudes enviadas al servidor de metadatos deben incluir el encabezado de solicitud Metadata-Flavor: Google
. Este encabezado indica que la solicitud se envió con la intención de recuperar valores de metadatos.
La siguiente tabla enumera los extremos en los que puedes realizar solicitudes HTTP para metadatos específicos:
Extremo de metadatos | Descripción |
---|---|
/computeMetadata/v1/project/numeric-project-id |
El número de proyecto asignado a tu proyecto. |
/computeMetadata/v1/project/project-id |
El ID del proyecto asignado a tu proyecto. |
/computeMetadata/v1/instance/zone |
La zona en la que se está ejecutando la instancia. |
/computeMetadata/v1/instance/service-accounts/default/aliases |
|
/computeMetadata/v1/instance/service-accounts/default/email |
El correo electrónico de la cuenta de servicio predeterminada asignado a tu proyecto. |
/computeMetadata/v1/instance/service-accounts/default/ |
Enumera todas las cuentas de servicio predeterminadas para tu proyecto. |
/computeMetadata/v1/instance/service-accounts/default/scopes |
Enumera todos los alcances compatibles para las cuentas de servicio predeterminadas. |
/computeMetadata/v1/instance/service-accounts/default/token |
Muestra el token de autenticación que puede usarse para autenticar tu aplicación en otras APIs de Google Cloud. |
Por ejemplo, para recuperar tu ID del proyecto, envía una solicitud a http://metadata.google.internal/computeMetadata/v1/project/project-id
.
Variables de entorno
El entorno de ejecución configura las siguientes variables del entorno:
Variable de entorno | Descripción |
---|---|
GAE_APPLICATION
|
ID de tu aplicación de App Engine. Este ID tiene el prefijo “region code~”, como “e~”, para aplicaciones implementadas en Europa. |
GAE_DEPLOYMENT_ID |
ID de la implementación actual. |
GAE_ENV |
Entorno de App Engine. Se define en standard . |
GAE_INSTANCE |
ID de la instancia en la que se está ejecutando tu servicio. |
GAE_MEMORY_MB |
Cantidad de memoria disponible para el proceso de la aplicación, en MB. |
GAE_RUNTIME |
Entorno de ejecución especificado en el archivo app.yaml . |
GAE_SERVICE |
Nombre de servicio especificado en el archivo app.yaml . Si no se especifica un nombre de servicio, se asigna default . |
GAE_VERSION |
Etiqueta de la versión actual de tu servicio. |
GOOGLE_CLOUD_PROJECT |
ID del proyecto de Google Cloud asociado a tu aplicación. |
PORT |
Puerto que recibe las solicitudes HTTP. |
Puedes definir variables de entorno adicionales en tu archivo app.yaml
, pero los valores anteriores no se pueden anular.