ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
Com este guia, você começa a usar o App Engine e se familiarizar com o desenvolvimento, a implantação e o gerenciamento de um aplicativo Go.
Depois de criar seu app, leia outros tutoriais para saber como se integrar a outros Google Cloud serviços e adicionar mais recursos ao app.
Custos
Não há custos associados à execução deste guia. A execução deste aplicativo de amostra não excede sua cota gratuita.
Configurar o ambiente de desenvolvimento
Use sua máquina local e as ferramentas com que já está familiarizado ou o Cloud Shell. O Cloud Shell já tem a Google Cloud CLI instalada, o ambiente já configurado e muitos outros recursos.
Máquina local
Instale o Go e configure a CLI gcloud conforme descrito em Como configurar o ambiente de desenvolvimento.
Cloud Shell
Inicie o Cloud Shell, que tem todas as ferramentas necessárias pré-instaladas:
Criar um projeto Google Cloud
É necessário ter um projeto para usar o Google Cloud, que é a base para usar todos os serviços doGoogle 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.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Crie seu aplicativo do App Engine e os recursos associados a ele. Escolha um local, que não poderá ser alterado depois.
gcloud app create
- Devido a mudanças no comportamento padrão de como o Cloud Build usa contas de serviço em novos projetos e mudanças na política da organização "seguro por padrão", talvez seja necessário conceder outros papéis à conta de serviço de implantação. Para mais informações sobre como conceder papéis específicos, consulte o guia de solução de problemas.
go-app/
: diretório do serviço Go 1.11.app.yaml
: as configurações do seu serviço.main.go
: o código do aplicativo
Crie uma nova pasta chamada
go-app
para seu serviço Go:mkdir go-app
Na pasta
go-app/
, crie um arquivo chamadoapp.yaml
e adicione o conteúdo a seguir:runtime: go123 # or another supported version
Essa é a configuração mais simples para um aplicativo do App Engine. Ela indica ao App Engine que você está usando o Go. O arquivo
app.yaml
pode especificar outras versões do Go, configurações de rede, configurações de dimensionamento e muito mais. Para mais informações, consulte a referência sobreapp.yaml
.Na pasta
go-app/
, crie um arquivomain.go
.Adicione a instrução
package main
para tratar seu código como um programa executável:package main
Para implantar um serviço com sucesso, é preciso definir uma instrução
package main
no início de pelo menos um dos arquivos de origem Go.Importe os pacotes a seguir:
Defina seu gerenciador HTTP:
O objeto
http.ResponseWriter
monta a resposta do servidor HTTP. Ao gravar nele, você envia dados para o navegador. O objetohttp.Request
é uma estrutura de dados que representa a solicitação HTTP de entrada.Registre seu gerenciador HTTP:
A função
main
é o ponto de entrada do programa executável. Portanto, ela inicia o aplicativo. Ela começa com uma chamada para a funçãohttp.HandleFunc
que orienta o pacotehttp
a gerenciar todas as solicitações para a raiz da Web ("/"
) com a funçãoindexHandler
.Se a variável de ambiente
PORT
não estiver definida, a porta8080
será usada como padrão. Quando o aplicativo estiver em execução no App Engine, a variável de ambientePORT
será definida para você. Porém, ao testar seu aplicativo localmente, será possível definirPORT
com qualquer valor de sua preferência.No diretório
go-app
, onde o arquivoapp.yaml
está localizado, implante o serviço da Web no App Engine usando o seguinte comando:gcloud app deploy
Para iniciar o navegador e visualizar o serviço da Web em
https://PROJECT_ID.REGION_ID.r.appspot.com
, execute o seguinte comando:gcloud app browse
Veja os serviços do App Engine no console Google Cloud :
Você verá um serviço listado, chamado
default
. Ele é acessível publicamente no seguinte URL:https://PROJECT_ID.REGION_ID.r.appspot.com
Veja as versões:
Você verá uma versão com carimbo de data/hora, correspondente à implantação.
- Saiba mais como gravar registros de aplicativos e interpretar registros do sistema em Como ler e gravar registros de aplicativos.
- Para saber mais sobre como o App Engine funciona, consulte Ambiente de execução do Go.
- Leia sobre como processar e como rotear solicitações.
Gravar um serviço da Web básico para o App Engine
Saiba como criar um serviço da Web e declarar as configurações do ambiente de execução.
Estruture seus arquivos
Seu serviço terá a seguinte estrutura de arquivos:
Crie o arquivo app.yaml
.
Cada projeto do App Engine tem um arquivo de configuração app.yaml
que especifica as configurações do ambiente de execução do serviço. Sem esse arquivo, não é possível implantar o serviço.
Crie o arquivo main.go
.
Este exemplo usa o pacote net/http
para criar um servidor HTTP que exibe a frase "Hello, World!".
Para configurar seu arquivo main.go
, faça o seguinte:
Implantar seu serviço no App Engine
Parabéns! Você acabou de criar e implantar um serviço no App Engine.
Serviços e versões
O primeiro serviço que você implantar para o aplicativo será o serviço padrão.
É possível especificar o nome do serviço no arquivo app.yaml
, mas se ele for omitido, será tratado como default
. Também é possível implantar vários serviços além do serviço padrão.
Atualize o serviço a qualquer momento executando o comando gcloud app deploy
. A cada implantação, uma nova versão é criada, e o tráfego é roteado automaticamente para a versão mais recente.
Para confirmar a criação do serviço e a implantação da versão:
Para saber como enviar solicitações para serviços e versões específicos, consulte Como as solicitações são encaminhadas.
Próximas etapas
Parabéns! Você acabou de configurar e implantar o aplicativo da Web no App Engine.
Saiba como adicionar outros recursos ao aplicativo explorando as seguintes páginas: