ID de región
REGION_ID
es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r
se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.
Obtén más información acerca de los ID de región.
Esta guía te ayuda a comenzar a usar App Engine y familiarizarte con el desarrollo, la implementación y la administración de una app de Go.
Después de compilar la app, puedes leer otros instructivos para aprender a integrarla a otros servicios de Google Cloud y agregarle más funciones.
Costos
No hay costos asociados por usar esta guía. Ejecutar esta app de muestra por sí sola no supera tu cuota gratuita.
Configura tu entorno de desarrollo
Puedes usar tu máquina local y herramientas con las que ya estés familiarizado o Cloud Shell. Cloud Shell ya tiene Google Cloud CLI instalada, el entorno configurado y muchas otras funciones.
Máquina local
Instala Go y configura la CLI de gcloud como se describe en Configura tu entorno de desarrollo.
Cloud Shell
Inicia Cloud Shell, que tiene todas las herramientas que necesitas preinstaladas:
Crea un proyecto de Google Cloud
Se requiere un proyecto con el fin de usar Google Cloud, que será la base para usar todos los servicios de Google Cloud.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Crea tu app de App Engine y sus recursos asociados. Debes elegir una ubicación; esta no se puede cambiar más adelante.
gcloud app create
Escribe un servicio web básico para App Engine
Aprende a escribir un servicio web y declarar la configuración del entorno de ejecución.
Estructura tus archivos
Tu servicio tendrá la estructura de archivos siguiente:
go-app/
: Es el directorio para el servicio de Go.app.yaml
: Son las opciones de configuración del servicio.main.go
: Es el código de la aplicación.
Crea el archivo app.yaml
Cada proyecto de App Engine tiene un archivo de configuración app.yaml
que especifica la configuración del entorno de ejecución del servicio. Tu servicio no se implementará sin este archivo.
Crea una nueva carpeta llamada
go-app
para el servicio de Go:mkdir go-app
En la carpeta
go-app/
, crea un archivo llamadoapp.yaml
y agrega el siguiente contenido:runtime: go123 # or another supported version
Esta es la configuración más simple para una aplicación de App Engine. Indica a App Engine que estás usando Go. El archivo
app.yaml
puede especificar otras versiones de Go, configuración de red, configuración de escalamiento y mucho más. Para obtener más información, consulta la referencia deapp.yaml
.
Crea el archivo main.go
En este ejemplo, se usa el paquete net/http
para crear un servidor HTTP que imprime “Hello, World!”.
Para configurar el archivo main.go
, haz lo siguiente:
En la carpeta
go-app/
, crea un archivomain.go
.Agrega la declaración
package main
para tratar el código como un programa ejecutable:package main
Para implementar un servicio de forma correcta, se debe definir una declaración
package main
al comienzo de, al menos, uno de tus archivos fuente de Go.Importa los siguientes paquetes:
Define tu controlador HTTP:
El objeto
http.ResponseWriter
ensambla la respuesta del servidor HTTP. Cuando escribes en él, le envías datos al navegador. El objetohttp.Request
es una estructura de datos que representa la solicitud HTTP entrante.Registra tu controlador HTTP:
La función
main
es el punto de entrada del programa ejecutable, por lo que inicia la aplicación. Comienza con una llamada a la funciónhttp.HandleFunc
que le indica al paquetehttp
que maneje todas las solicitudes a la raíz web ("/"
) con la funciónindexHandler
.Si la variable de entorno
PORT
no está configurada, se usa el puerto8080
de forma predeterminada. Cuando la app se ejecuta en App Engine, la variable de entornoPORT
se configura por ti, pero cuando pruebas la app de manera local, puedes establecerPORT
en el valor que prefieras.
Implementa tu servicio web en App Engine
En el directorio
go-app
en el que se encuentra el archivoapp.yaml
, implementa el servicio web en App Engine mediante el siguiente comando:gcloud app deploy
Para iniciar el navegador y ver el servicio web en
https://PROJECT_ID.REGION_ID.r.appspot.com
, ejecuta el siguiente comando:gcloud app browse
¡Felicitaciones! Acabas de implementar y crear un servicio en App Engine.
Servicios y versiones
El primer servicio que implementarás para tu aplicación será el servicio predeterminado.
Puedes especificar el nombre del servicio en el archivo app.yaml
, pero si se omite el nombre, se tratará como default
. Puedes implementar múltiples servicios distintos al servicio predeterminado.
Puedes actualizar el servicio en cualquier momento si ejecutas el comando gcloud app deploy
. Cada vez que implementas, se crea una versión nueva y el tráfico se enruta de forma automática a la versión más reciente.
Para confirmar la creación del servicio y la implementación de la versión, sigue estos pasos:
Visualiza tus servicios de App Engine en la consola de Google Cloud:
Deberías ver un servicio en la lista, llamado
default
. El servicio predeterminado está disponible a nivel público en la siguiente URL:https://PROJECT_ID.REGION_ID.r.appspot.com
Observa tus versiones:
En la lista, deberías ver una versión con marca de tiempo que corresponde a tu implementación.
Para obtener más información sobre cómo enviar solicitudes a servicios y versiones específicas, consulta Cómo se enrutan las solicitudes.
Próximos pasos
¡Felicitaciones! Acabas de configurar y, además, implementar tu aplicación web en App Engine.
Para aprender a agregar otras funciones a tu aplicación, explora las páginas siguientes:
- Obtén más información sobre cómo escribir registros de aplicaciones y cómo interpretar los registros del sistema en Cómo leer y escribir registros de aplicaciones.
- Para profundizar más en el funcionamiento de App Engine, consulta Entorno de ejecución de Go.
- Obtén más información sobre el manejo de solicitudes y el enrutamiento de solicitudes.