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.
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.
Configurar 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.
Cloud Shell
Inicie o Cloud Shell, que tem todas as ferramentas de que precisa pré-instaladas:
Criar 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
go-app/
: diretório para o seu serviço Go 1.11.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 1.11:mkdir go-app
Na pasta
go-app/
, crie um ficheiro denominadoapp.yaml
e adicione o seguinte conteúdo:Esta é a configuração mais simples para uma app do App Engine. Indica ao App Engine que está a usar o tempo de execução do Go 1.11. O ficheiro
app.yaml
também pode especificar definições de rede, definições de dimensionamento e muito mais. Para mais informações, consulte aapp.yaml
referência.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 no tempo de execução do Go 1.11, tem de definir uma declaração
package main
no início de, pelo menos, um dos seus ficheiros de origem do Go no mesmo diretório que o ficheiroapp.yaml
do seu serviço.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.
Escrever 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.
Estruturar os seus ficheiros
O seu serviço tem a seguinte estrutura de ficheiros:
A criar 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.
A criar 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
:
Implementar 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: