Crie uma app Go no ambiente flexível do App Engine
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 início rápido demonstra como criar e implementar uma app que apresenta uma mensagem curta. Pode usar a aplicação de exemplo neste início rápido para qualquer versão suportada do Go, especificando a versão de tempo de execução e o sistema operativo no ficheiro app.yaml
.
Antes de começar
- 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
- 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.
Inicialize a app do App Engine com o seu projeto e escolha a respetiva região:
gcloud app create --project=[YOUR_PROJECT_ID]
Quando lhe for pedido, selecione a região onde quer localizar a sua aplicação do App Engine.
Instale o seguinte na sua máquina local:
Execute o seguinte comando para instalar o componente gcloud que inclui a extensão do App Engine para Go:
gcloud components install app-engine-go
Execute o comando
gcloud app describe
.Abra o painel de controlo do App Engine na Google Cloud consola. A região aparece junto à parte superior da página.
Clone o repositório da app de exemplo Hello World para a sua máquina local.
git clone https://github.com/GoogleCloudPlatform/golang-samples
Altere para o diretório que contém o exemplo de código.
cd golang-samples/appengine_flexible/helloworld
Inicie um servidor Web local.
go run *.go
No navegador de Internet, introduza o seguinte endereço:
Se estiver a usar o Cloud Shell, na barra de ferramentas, clique em Pré-visualização Web
e selecione Pré-visualizar na porta 8080.
-
Implemente a app Hello World executando o seguinte comando a partir do diretório
helloworld
:gcloud app deploy
Saiba mais acerca das sinalizações opcionais.
Sinalizações de comandos
gcloud
comuns-
Inclua a flag
--version
para especificar um ID que identifique exclusivamente essa versão da sua app. Caso contrário, é gerado um ID para si. Exemplo:--version [YOUR_VERSION_ID]
-
Inclua a flag
--project
para especificar um ID do projeto Google Cloud alternativo ao que inicializou como predefinição na ferramentagcloud
. Exemplo:--project [YOUR_PROJECT_ID]
Exemplo:
gcloud app deploy --version pre-prod-5 --project my-sample-app
Para saber como implementar a sua app a partir da linha de comandos, consulte o artigo Testar e implementar a sua app . Para ver uma lista de todas as flags de comando, consulte a
gcloud app deploy
referência. -
Inclua a flag
-
Inicie o navegador para ver a app em
https://PROJECT_ID.REGION_ID.r.appspot.com
ondegcloud app browse
PROJECT_ID
representa o seu Google Cloud ID do projeto. - In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Define
env: flex
, indicando que a sua app usa o ambiente flexível do App Engine. Especifica o tempo de execução usado pela app.
Para mais informações sobre como funciona o tempo de execução do Go, consulte o artigo O tempo de execução do Go.
Para mais detalhes sobre como criar a sua app para tirar partido das versões e dos serviços, consulte Uma vista geral do App Engine.
Para mais detalhes acerca das definições de configuração do App Engine, consulte o artigo Configurar a sua app com o ficheiro app.yaml.
Pré-requisitos adicionais
Localizações do App Engine
O App Engine é regional, o que significa que a infraestrutura que executa as suas apps está localizada numa região específica e é gerida pela Google para estar disponível de forma redundante em todas as zonas dessa região.
O cumprimento dos requisitos de latência, disponibilidade ou durabilidade são fatores principais para selecionar a região onde as suas apps são executadas. Geralmente, pode selecionar a região mais próxima dos utilizadores da sua app, mas deve considerar as localizações onde o App Engine está disponível, bem como as localizações dos outrosGoogle Cloud produtos e serviços que a sua app usa. A utilização de serviços em várias localizações pode afetar a latência da sua app, bem como os respetivos preços.
Não pode alterar a região de uma app depois de a definir.
Se já tiver criado uma aplicação do App Engine, pode ver a respetiva região através de uma das seguintes ações:
Este início rápido pressupõe que conhece a linguagem de programação Go e que instalou o Go.
Transfira a app Hello World
Criámos uma app Hello World para o App Engine para que possa rapidamente experimentar a implementação de uma app no Google Cloud.
Execute o Hello World na sua máquina local
Para executar a app Hello World no seu computador local:
A mensagem Hello World da app de exemplo é apresentada na página. Na janela de terminal, prima Ctrl+C para sair do servidor Web.
Implemente e execute o Hello World no App Engine
Para implementar a sua app no ambiente flexível do App Engine:
Desta vez, a página que apresenta a mensagem Hello World é fornecida por um servidor Web em execução numa instância do App Engine.
Parabéns! Implementou a sua primeira app do App Engine no ambiente flexível do App Engine!
Se encontrou erros ao implementar a sua aplicação, consulte as sugestões de resolução de problemas.Consulte as secções seguintes para obter informações sobre a limpeza, bem como links para possíveis passos seguintes que pode seguir.
Limpar
Para evitar incorrer em custos, pode eliminar o seu Google Cloud projeto para parar a faturação de todos os recursos usados nesse projeto.
O que se segue?
Conheça toda a plataforma
Agora que já sabe como é desenvolver e implementar apps do App Engine, pode explorar o resto do Google Cloud. Já tem a CLI do Google Cloud instalada, o que lhe dá as ferramentas para interagir com produtos como o Cloud SQL, o Cloud Storage, o Firestore e muito mais.
Saiba mais sobre o ambiente flexível do App Engine
Seguem-se alguns tópicos para continuar a aprender sobre o App Engine:
Revisão do código Olá, mundo
O Hello World é a app do App Engine mais simples possível, uma vez que contém apenas um serviço, tem apenas uma versão e todo o código está localizado no diretório raiz da app. Esta secção descreve detalhadamente cada um dos ficheiros da app.
helloworld.go
O ficheiro helloworld.go
regista um controlador que ouve os pedidos para /
e responde com a mensagem "Olá, mundo!".
app.yaml
O ficheiro app.yaml
descreve a seguinte configuração para a sua app: