Crie uma app Node.js 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 Node.js, especificando a versão do 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 role
(
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.
-
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 role
(
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.
-
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 -
Administrador do App Engine (
roles/appengine.appAdmin) no projeto -
Editor do Cloud Build (
roles/cloudbuild.builds.editor) no projeto -
Administrador de objetos de armazenamento (
roles/storage.objectAdmin) no projeto -
Visualizador de registos (
roles/logging.viewer) no projeto -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço -
Peça ao seu administrador para conceder as seguintes funções à conta de serviço predefinida do App Engine:
-
Leitor do Artifact Registry (
roles/artifactregistry.reader) no projeto -
Conta de serviço do Cloud Build (
roles/cloudbuild.builds.builder) no projeto -
Visualizador de objetos do Storage (
roles/storage.objectViewer) no projeto
-
Leitor do Artifact Registry (
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 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/nodejs-docs-samplesEm alternativa, pode transferir o exemplo como um ficheiro ZIP e extraí-lo.
Altere para o diretório que contém o exemplo de código.
cd nodejs-docs-samples/appengine/hello-world/flexible/Instale as dependências para este projeto.
npm installEm alternativa, se estiver a usar o Yarn.
yarn installExecute o guião de início.
npm startEm alternativa, se estiver a usar o Yarn.
yarn startVeja a sua app no navegador de Internet.
Se estiver a usar o Cloud Shell, na barra de ferramentas, clique em Pré-visualização Web
e
selecione Pré-visualizar na porta 8080.Se não estiver a usar o Cloud Shell, introduza o seguinte endereço:
-
Implemente a app Hello World executando o seguinte comando a partir do diretório
hello-world/flexible/:gcloud app deploy
Saiba mais acerca das sinalizações opcionais.
Sinalizadores de comandos
gcloudcomuns-
Inclua a flag
--versionpara 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
--projectpara 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 deployreferência. -
Inclua a flag
-
Inicie o navegador para ver a app em
https://PROJECT_ID.REGION_ID.r.appspot.com ondegcloud app browse
PROJECT_IDrepresenta 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 Node.js, consulte o artigo O tempo de execução do Node.js.
Para mais detalhes sobre como criar a sua app para tirar partido das versões e dos serviços, consulte o artigo 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.
package.jsonpackage.jsoné usado para especificar dependências de apps, a versão do nó e o arranque da app.No exemplo anterior, o ficheiro
package.jsonespecifica que a app usa a versão 18 e posterior do Node.js e depende do express. Para mais detalhes sobre como instalar e executar a sua app, consulte a documentação de tempo de execução do Node.js.
Funções necessárias
Para receber as autorizações de que precisa para concluir este início rápido, peça ao seu administrador que lhe conceda as seguintes funções do IAM:
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
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 demonstra uma aplicação Node.js simples escrita com a estrutura Express.js.
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
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.
app.js
O ficheiro app.js contém o código JavaScript para iniciar um servidor e responder a pedidos.
O código seguinte responde a pedidos de clientes Web apresentando a mensagem "Hello World" através de um servidor que é executado na porta 8080.
app.yaml
O ficheiro app.yaml
descreve a seguinte configuração para a sua app: