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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
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-apppara seu serviço Go:mkdir go-app
Na pasta
go-app/, crie um arquivo chamadoapp.yamle adicione o conteúdo a seguir:runtime: go125 # or another supported versionEssa é 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.yamlpode 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 mainpara tratar seu código como um programa executável:package mainPara implantar um serviço com sucesso, é preciso definir uma instrução
package mainno início de pelo menos um dos arquivos de origem Go.Importe os pacotes a seguir:
Defina seu gerenciador HTTP:
O objeto
http.ResponseWritermonta 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.HandleFuncque orienta o pacotehttpa gerenciar todas as solicitações para a raiz da Web ("/") com a funçãoindexHandler.Se a variável de ambiente
PORTnão estiver definida, a porta8080será usada como padrão. Quando o aplicativo estiver em execução no App Engine, a variável de ambientePORTserá definida para você. Porém, ao testar seu aplicativo localmente, será possível definirPORTcom qualquer valor de sua preferência.No diretório
go-app, onde o arquivoapp.yamlestá 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.comVeja 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: