Aggiornamento del servizio web

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

Questa sezione della guida mostra come scrivere, testare ed eseguire il deployment degli aggiornamenti del servizio web di esempio di cui hai eseguito il deployment nella sezione precedente, Eseguire il deployment del servizio web.

Prima di iniziare

Se non hai già completato le sezioni precedenti di questa "Creazione di un'app" segui questi passaggi:

  1. Crea un progetto Google Cloud con un'app App Engine.
  2. Scrivi un semplice servizio web Node.js.
  3. Esegui il deployment del servizio web su App Engine.

Aggiornamento del servizio web di esempio

Le sezioni seguenti aggiornano il servizio web di esempio con un modulo e un gestore che risponde quando un utente invia il modulo.

Creazione di un modulo per l'input utente

Per consentire a un utente di inviare dati al tuo server, utilizza un modulo HTML.

  1. Nella cartella my-nodejs-service, crea una cartella denominata views per archiviare i file HTML.

  2. Nella cartella views, crea un file denominato form.html e aggiungi il seguente codice:

    <!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>

Questo semplice modulo consente all'utente di inserire un nome e un messaggio da inviare server web. Invia i dati tramite una richiesta POST HTTP a /submit, come specificato dagli attributi method e action dell'elemento <form>.

A questo punto, dovresti avere una struttura di file come la seguente:

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

Visualizzazione del modulo

  1. Aggiungi la seguente riga all'inizio del file server.js per importare Modulo path:

    const path = require(`path`);
    
  2. Aggiungi il seguente gestore Express per mostrare il modulo quando un utente naviga a /submit:

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

Creazione di un gestore per i dati inviati

Quando un utente invia un messaggio al server, viene inviata una richiesta POST con i dati a /submit. Per leggere i dati dal corpo della richiesta, utilizza Express urlencoded e creare un nuovo gestore di richieste.

  1. Imposta l'app in modo che utilizzi il middleware urlencoded Express:

    // This middleware is available in Express v4.16.0 onwards
    app.use(express.urlencoded({extended: true}));
  2. Aggiungi un gestore POST al file server.js per leggere i dati:

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

Questo gestore di esempio registra il nome e il messaggio dell'utente nella console, ma puoi anche eseguire operazioni sui dati o archiviarli in un database.

Testare il modulo in locale

Testa il nuovo modulo localmente prima di implementare le modifiche.

  1. Avvia il server Node.js:

    npm start
    
  2. Visualizza il tuo modulo all'indirizzo http://localhost:8080/submit.

    Invia un messaggio con il modulo. Dovresti vedere il tuo nome e il messaggio nel terminale.

Deployment delle modifiche in corso...

Quando esegui il deployment di un aggiornamento, viene creata una nuova versione del servizio predefinito e il traffico viene indirizzato automaticamente alla versione più recente. Per eseguire il deployment:

  1. Dalla cartella my-nodejs-service, esegui questo comando:

    gcloud app deploy
    

    Si tratta dello stesso comando che hai imparato in Eseguire il deployment del servizio web.

  2. Verifica che nella console Google Cloud sia elencata una nuova versione:

    Visualizza le versioni

    Dovresti vedere due versioni corrispondenti alla precedente e a quella corrente e deployment continuo.

Dopo il deployment, il nuovo modulo è accessibile all'indirizzo https://PROJECT_ID.REGION_ID.r.appspot.com/submit. Utilizzalo per inviare un paio di messaggi.

Se la versione precedente non ti serve più, puoi eliminarla dal nella console Google Cloud.

Passaggi successivi

Ora che la tua app ha un modulo tramite il quale gli utenti possono inviare dati, scopri come visualizzare i log dell'applicazione nella console Google Cloud.