Go 1.14 pasó a la fase de disponibilidad general.

Guía de inicio rápido para Go 1.12 en el entorno estándar de App Engine

ID de región

REGION_ID es un código abreviado que Google asigna en función de la región que seleccionas cuando creas tu app. El código no corresponde a un país o provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia de uso común. Incluir REGION_ID.r en las URL de App Engine es opcional para las apps existentes, y pronto será obligatorio para todas las aplicaciones nuevas.

A fin de garantizar una transición sin problemas, estamos actualizando App Engine con lentitud para usar los ID de región. Si aún no actualizamos tu proyecto de Google Cloud, no verás un ID de región para la app. Dado que el ID es opcional para las apps existentes, no necesitas actualizar las URL ni realizar otros cambios una vez que el ID de región esté disponible para las apps existentes.

Obtén más información acerca de los ID de región.

En esta página, se muestra cómo implementar una aplicación básica de App Engine que muestra un mensaje corto. Para obtener una introducción más detallada a Go en App Engine, consulta Compila una aplicación.

¿App Engine es la opción de procesamiento adecuada para ti? Consulta otras opciones para alojar tu aplicación en Google Cloud.

Costos

No hay costos asociados por usar esta guía. Ejecutar esta app de muestra por sí sola no supera tu cuota gratuita.

Antes de comenzar

Antes de ejecutar y, además, implementar esta guía de inicio rápido, instala el SDK de Cloud y configura un proyecto de Cloud para App Engine:

  1. Descarga y, luego, instala el SDK de Cloud:

    Descargar el SDK

    Nota: Si ya tienes instalado el SDK de Cloud, ejecuta el siguiente comando para actualizarlo:

    gcloud components update
    
  2. Crea un proyecto nuevo:

    gcloud projects create [YOUR_PROJECT_ID] --set-as-default
    

    Reemplaza [YOUR_PROJECT_ID] por una string de caracteres que identifique el proyecto de manera única. Por ejemplo, my-project-24.

    Verifica si se creó el proyecto:

    gcloud projects describe [YOUR_PROJECT_ID]
    

    Verás los detalles del proyecto, que deberían ser similares a los siguientes:

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. Inicializa tu aplicación de App Engine con el proyecto y selecciona su región:

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    Cuando se te solicite, selecciona la región en la que deseas que se ubique tu aplicación de App Engine.

  4. Asegúrate de tener habilitada la facturación para tu proyecto. Debes tener una cuenta de facturación vinculada a tu proyecto para que la aplicación se pueda implementar en App Engine.

    Habilitar facturación

  5. Instala los siguientes requisitos previos:

    • Ejecuta el siguiente comando a fin de instalar el componente de gcloud, que incluye la extensión de App Engine para Go 1.12 o posteriores:

      gcloud components install app-engine-go
      

Ubicaciones de App Engine

App Engine es regional, lo que significa que la infraestructura que ejecuta tus apps se encuentra en una región específica y Google la administra para que esté disponible de manera redundante en todas las zonas dentro de esa región.

El cumplimiento de tus requisitos de latencia, disponibilidad o durabilidad debe ser un factor primario para seleccionar la región donde se ejecutan tus aplicaciones. Por lo general, puedes seleccionar la región más cercana a la de los usuarios de tu app, pero debes considerar las ubicaciones en las que App Engine está disponible, así como las ubicaciones de los otros productos y servicios de Google Cloud que tu app. Usar servicios en varias ubicaciones puede afectar la latencia de la app y los precios.

No puedes cambiar la región de una app una vez configurada.

Si ya creaste una aplicación de App Engine, puedes ver su región mediante una de las siguientes opciones:

En esta guía de inicio rápido, se da por sentado que estás familiarizado con el lenguaje de programación de Go y que instalaste Go.

Descarga la app de Hello World

Creamos una app de Hello World simple para Go, de manera que puedas familiarizarte rápidamente con el proceso de implementación en Google Cloud. Sigue estos pasos para descargar la app de Hello World a tu máquina local.

Descarga la app de muestra y navega al directorio de la app:

  1. Clona el repositorio de la app de muestra de Hello World:

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git
    

    Como alternativa, descarga la muestra como un archivo ZIP y extráela.

  2. Ve al directorio que contiene el código de muestra:

    cd golang-samples/appengine/go11x/helloworld
    

Implementa Hello World en App Engine

  1. Para implementar la aplicación de Hello World en App Engine, ejecuta el siguiente comando desde el directorio golang-samples/appengine/go11x/helloworld:

    gcloud app deploy
    
  2. Mira la aplicación en vivo en https://PROJECT_ID.REGION_ID.r.appspot.com:

    gcloud app browse
    

Un servidor web que se ejecuta en una instancia de App Engine muestra el mensaje Hello, world!.

¡Felicitaciones! Implementaste correctamente un servicio web Go en App Engine.

Limpia

Si deseas seguir aprendiendo sobre App Engine, puedes mantener tu proyecto de Cloud y seguir las instrucciones para compilar una aplicación.

Como alternativa, puedes borrar tu proyecto de Cloud para detener la facturación de todos los recursos que se usaron en ese proyecto.

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a la página Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y haz clic en Cerrar para borrar el proyecto.

Qué sigue

Ahora que tienes experiencia en la implementación de un servicio web en App Engine, lee Cómo compilar una aplicación para obtener una introducción más detallada a Go en App Engine.