ID da região
O REGION_ID
é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
fevereiro de 2020, REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criadas antes desta data, o
ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
Este guia ajuda a começar a usar o App Engine e a familiarizar-se com o desenvolvimento, a implementação e a gestão de uma app Go.
Depois de criar a sua app, pode ler outros tutoriais para saber como fazer a integração com outros Google Cloud serviços e adicionar mais funcionalidades à sua app.
Custos
Não existem custos associados à execução deste guia. A execução desta app de exemplo sozinha não excede a sua quota gratuita.
Configure o ambiente de programação
Pode usar o seu computador local e usar ferramentas com as quais já está familiarizado ou o Cloud Shell. O Cloud Shell tem a CLI gcloud já instalada, o seu ambiente já configurado e muitas outras funcionalidades.
Máquina local
Instale o Go e configure a CLI gcloud, conforme descrito no artigo Configurar o ambiente de desenvolvimento.
Cloud Shell
Inicie o Cloud Shell, que tem todas as ferramentas de que precisa pré-instaladas:
Crie um Google Cloud projeto
É necessário um projeto para usar o Google Cloud, e este constitui 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.create
permission. 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, 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.create
permission. 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
- Crie a sua app do App Engine e os recursos associados. Tem de
escolher uma localização, que não pode ser alterada mais tarde.
gcloud app create
- Devido a alterações no comportamento predefinido da forma como o Cloud Build usa as contas de serviço em novos projetos e alterações à política organizacional segura por predefinição, pode ter de conceder funções adicionais à sua conta de serviço de implementação. Para mais informações sobre a concessão de funções específicas, consulte o guia de resolução de problemas.
go-app/
: diretório para o seu serviço Go.app.yaml
: as definições de configuração do seu serviço.main.go
: o código da sua candidatura.
Crie uma nova pasta denominada
go-app
para o seu serviço Go:mkdir go-app
Na pasta
go-app/
, crie um ficheiro denominadoapp.yaml
e adicione o seguinte conteúdo:runtime: go125 # or another supported version
Esta é a configuração mais simples para uma app do App Engine. Indica ao App Engine que está a usar o Go. O ficheiro
app.yaml
pode especificar outras versões do Go, definições de rede, definições de escalabilidade e muito mais. Para mais informações, consulte a referênciaapp.yaml
.Na pasta
go-app/
, crie um ficheiromain.go
.Adicione a declaração
package main
para tratar o seu código como um programa executável:package main
Para implementar com êxito um serviço, tem de definir uma declaração
package main
no início de, pelo menos, um dos seus ficheiros de origem Go.Importe os seguintes pacotes:
Defina o seu controlador HTTP:
O objeto
http.ResponseWriter
reúne a resposta do servidor HTTP. Ao escrever nele, envia dados para o navegador. O objetohttp.Request
é uma estrutura de dados que representa o pedido HTTP recebido.Registe o seu controlador HTTP:
A função
main
é o ponto de entrada do seu programa executável, pelo que inicia a aplicação. Começa com uma chamada à funçãohttp.HandleFunc
que indica ao pacotehttp
que processe todos os pedidos à raiz da Web ("/"
) com a funçãoindexHandler
.Se a variável de ambiente
PORT
não estiver definida, a porta8080
é usada como predefinição. Quando a sua app está a ser executada no App Engine, a variável de ambientePORT
é definida automaticamente. No entanto, quando testa a app localmente, pode definirPORT
para qualquer valor preferencial.No diretório
go-app
onde se encontra o ficheiroapp.yaml
, implemente o serviço Web no App Engine através do seguinte comando:gcloud app deploy
Para iniciar o navegador e ver o seu serviço Web em
https://PROJECT_ID.REGION_ID.r.appspot.com
, execute o seguinte comando:gcloud app browse
Veja os seus serviços do App Engine na Google Cloud consola:
Deve ver um serviço listado com o nome
default
. O serviço predefinido é acessível publicamente no seguinte URL:https://PROJECT_ID.REGION_ID.r.appspot.com
Veja as suas versões:
Deve ver uma versão com indicação de data/hora, correspondente à sua implementação.
- Saiba como escrever registos de aplicações e interpretar registos do sistema em Ler e escrever registos de aplicações.
- Para uma análise mais detalhada do funcionamento do App Engine, consulte o ambiente de execução do Go.
- Leia acerca do processamento de pedidos e do encaminhamento de pedidos.
Escreva um serviço Web básico para o App Engine
Saiba como escrever um serviço Web e declarar definições de tempo de execução.
Estruture os seus ficheiros
O seu serviço tem a seguinte estrutura de ficheiros:
Crie o ficheiro app.yaml
Todos os projetos do App Engine têm um ficheiro de configuração app.yaml
que especifica as definições do ambiente de tempo de execução do seu serviço. O seu serviço não vai ser implementado sem este ficheiro.
Crie o ficheiro main.go
Este exemplo usa o pacote
net/http
para criar um servidor HTTP que imprime "Olá, mundo!".
Para configurar o seu ficheiro main.go
:
Implemente o seu serviço Web no App Engine
Parabéns! Acabou de criar e implementar um serviço no App Engine.
Serviços e versões
O primeiro serviço que implementar para a sua aplicação é o serviço predefinido.
Pode especificar o nome do seu serviço no ficheiro app.yaml
, mas se o nome for omitido, é tratado como default
. Pode implementar vários serviços
além do serviço predefinido.
Pode atualizar o seu serviço em qualquer altura executando o comando gcloud app deploy
. Cada vez que implementa, é criada uma nova versão e o tráfego é encaminhado automaticamente para a versão mais recente.
Para confirmar a criação do serviço e a implementação da versão:
Para saber como enviar pedidos para serviços e versões específicos, consulte o artigo Como os pedidos são encaminhados.
Passos seguintes
Parabéns! Acaba de configurar e implementar a sua aplicação Web no App Engine.
Saiba como adicionar outras funcionalidades à sua aplicação explorando as seguintes páginas: