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
(
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 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-samples
Em 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 install
Em alternativa, se estiver a usar o Yarn.
yarn install
Execute o guião de início.
npm start
Em alternativa, se estiver a usar o Yarn.
yarn start
Veja 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.
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 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 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.json
package.json
é usado para especificar dependências de apps, a versão do nó e o arranque da app.No exemplo anterior, o ficheiro
package.json
especifica 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.
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: