El tiempo de ejecución de Go 1.11 es la pila de software encargada de instalar el código de tu servicio web y sus dependencias, así como de ejecutar tu servicio.
El tiempo 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 versión estable más reciente de Go 1.11. App Engine se actualiza automáticamente a las nuevas revisiones secundarias, pero no a la versión principal.
Por ejemplo, tu aplicación puede implementarse en Go 1.11.1 y actualizarse automáticamente a la versión 1.11.2 en una implementación posterior, pero no se actualizará automáticamente a Go 1.12.
Dependencias
Para obtener más información sobre cómo declarar y gestionar dependencias, consulta Especificar dependencias.
Variables de entorno
El tiempo de ejecución define las siguientes variables de entorno:
Variable de entorno | Descripción |
---|---|
GAE_APPLICATION
|
El ID de tu aplicación de App Engine. Este ID tiene el prefijo "region code~", como "e~" en el caso de las aplicaciones desplegadas en Europa. |
GAE_DEPLOYMENT_ID |
ID de la implementación actual. |
GAE_ENV |
El entorno de App Engine. Su valor debe ser standard . |
GAE_INSTANCE |
El 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 |
El tiempo de ejecución especificado en el archivo app.yaml . |
GAE_SERVICE |
El nombre del servicio especificado en el archivo app.yaml . Si no se especifica ningún nombre de servicio, se le asigna el valor default . |
GAE_VERSION |
La etiqueta de la versión actual de tu servicio. |
GOOGLE_CLOUD_PROJECT |
El ID de proyecto Google Cloud asociado a tu aplicación. |
PORT |
El puerto que recibe solicitudes HTTP. |
Puedes definir variables de entorno adicionales en el 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 carga y reenvía las solicitudes a tu aplicación. Algunas aplicaciones necesitan determinar la IP y el protocolo de la solicitud original. La dirección IP del usuario está disponible en el encabezado estándar X-Forwarded-For
. Las aplicaciones que requieran esta información deben configurar su framework web para que confíe en el proxy.
Sistema de archivos
El tiempo de ejecución incluye un directorio /tmp
con permiso de escritura, mientras que el resto de los 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 información sobre la instancia y tu proyecto.
Puede acceder al servidor de metadatos a través de los siguientes endpoints:
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 ha enviado para recuperar valores de metadatos.
En la siguiente tabla se enumeran los endpoints en los que puedes hacer solicitudes HTTP para obtener metadatos específicos:
Punto final 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 |
La dirección de correo de la cuenta de servicio predeterminada asignada a tu proyecto. |
/computeMetadata/v1/instance/service-accounts/default/ |
Muestra todas las cuentas de servicio predeterminadas de tu proyecto. |
/computeMetadata/v1/instance/service-accounts/default/scopes |
Enumera todos los ámbitos admitidos de las cuentas de servicio predeterminadas. |
/computeMetadata/v1/instance/service-accounts/default/token |
Devuelve el token de autenticación que se puede usar para autenticar tu aplicación en otras APIs de Google Cloud. |
Por ejemplo, para obtener tu ID de proyecto, envía una solicitud a http://metadata.google.internal/computeMetadata/v1/project/project-id
.
Variables de entorno
El tiempo de ejecución define las siguientes variables de entorno:
Variable de entorno | Descripción |
---|---|
GAE_APPLICATION
|
El ID de tu aplicación de App Engine. Este ID tiene el prefijo "region code~", como "e~" en el caso de las aplicaciones desplegadas en Europa. |
GAE_DEPLOYMENT_ID |
ID de la implementación actual. |
GAE_ENV |
El entorno de App Engine. Su valor debe ser standard . |
GAE_INSTANCE |
El 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 |
El tiempo de ejecución especificado en el archivo app.yaml . |
GAE_SERVICE |
El nombre del servicio especificado en el archivo app.yaml . Si no se especifica ningún nombre de servicio, se le asigna el valor default . |
GAE_VERSION |
La etiqueta de la versión actual de tu servicio. |
GOOGLE_CLOUD_PROJECT |
El ID de proyecto Google Cloud asociado a tu aplicación. |
PORT |
El puerto que recibe solicitudes HTTP. |
Puede definir variables de entorno adicionales en el archivo app.yaml
,
pero los valores anteriores no se pueden anular.