Atualize o seu serviço Web

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.

Esta secção do guia mostra como escrever, testar e implementar atualizações no serviço Web de exemplo que implementou na secção anterior, Implementar o seu serviço Web.

Antes de começar

Se ainda não concluiu as secções anteriores deste guia "Criar uma app", faça o seguinte:

  1. Crie um Google Cloud projeto com uma app do App Engine.
  2. Escreva um serviço Web Node.js simples.
  3. Implemente o serviço Web no App Engine.

Atualize o serviço Web de exemplo

As secções seguintes atualizam o exemplo de serviço Web com um formulário e um controlador que responde quando um utilizador envia o formulário.

Crie um formulário para a introdução de dados pelo utilizador

Para permitir que um utilizador envie dados para o seu servidor, use um formulário HTML.

  1. Na pasta my-nodejs-service, crie uma pasta com o nome views para armazenar os seus ficheiros HTML.

  2. Na pasta views, crie um ficheiro denominado form.html e adicione o seguinte código:

    <!DOCTYPE html>
    <html>
      <head>
        <title>My App Engine App</title>
      </head>
      <body>
        <h2>Create a new post</h2>
        <form method="POST" action="/submit">
          <div>
            <input type="text" name="name" placeholder="Name">
          </div>
          <div>
            <textarea name="message" placeholder="Message"></textarea>
          </div>
          <div>
            <button type="submit">Submit</button>
          </div>
        </form>
      </body>
    </html>

Este formulário simples permite que um utilizador introduza um nome e uma mensagem para enviar para o servidor. Envia os dados através de um pedido HTTP POST para /submit, conforme especificado pelos atributos method e action no elemento <form>.

Neste momento, deve ter uma estrutura de ficheiros semelhante à seguinte:

my-nodejs-service/
  views/
    form.html
  app.yaml
  package.json
  server.js

Apresente o formulário

  1. Adicione a seguinte linha à parte superior do ficheiro server.js para importar o módulo path:

    const path = require(`path`);
    
  2. Adicione o seguinte controlador do Express para mostrar o formulário quando um utilizador navega para /submit:

    app.get('/submit', (req, res) => {
      res.sendFile(path.join(__dirname, '/views/form.html'));
    });

Crie um controlador para os dados enviados

Quando um utilizador envia uma mensagem para o servidor, é enviado um pedido POST com os dados para /submit. Para ler os dados do corpo do pedido, use o middleware do Express urlencoded e crie um novo controlador de pedidos.

  1. Defina a sua app para usar o middleware urlencoded do Express:

    // This middleware is available in Express v4.16.0 onwards
    app.use(express.urlencoded({extended: true}));
  2. Adicione um controlador POST ao seu ficheiro server.js para ler os dados:

    app.post('/submit', (req, res) => {
      console.log({
        name: req.body.name,
        message: req.body.message,
      });
      res.send('Thanks for your message!');
    });

Este controlador de exemplo regista o nome e a mensagem do utilizador na consola, mas também pode realizar operações nos dados ou armazená-los numa base de dados.

Teste o formulário localmente

Teste o novo formulário localmente antes de implementar as alterações.

  1. Inicie o servidor Node.js:

    npm start
    
  2. Veja o seu formulário em http://localhost:8080/submit.

    Envie uma mensagem com o formulário. Deve ver o seu nome e mensagem apresentados no terminal.

Implemente as alterações

Quando implementa uma atualização, é criada uma nova versão do seu serviço predefinido e o tráfego é encaminhado automaticamente para a versão mais recente. Para implementar:

  1. Na pasta my-nodejs-service, execute o seguinte comando:

    gcloud app deploy
    

    Este é o mesmo comando que aprendeu em Implemente o seu serviço Web.

  2. Confirme que é apresentada uma nova versão na Google Cloud consola:

    Ver versões

    Devem ser apresentadas duas versões correspondentes à implementação anterior e atual.

Após a implementação, o novo formulário fica acessível em https://PROJECT_ID.REGION_ID.r.appspot.com/submit. Use-o para enviar uma ou duas mensagens!

Se já não precisar da versão anterior, pode eliminá-la na página de versões na Google Cloud consola.

Passos seguintes

Agora que a sua app tem um formulário para os utilizadores enviarem dados, saiba como ver os registos da sua aplicação na Google Cloud consola.