Webdienst aktualisieren

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.

Hier finden Sie weitere Informationen zu Regions-IDs.

In diesem Abschnitt des Leitfadens wird beschrieben, wie Sie Aktualisierungen für den Beispielwebdienst schreiben, testen und bereitstellen, den Sie im vorherigen Abschnitt Webdienst bereitstellen bereitgestellt haben.

Hinweise

Wenn Sie die vorherigen Abschnitte in diesem Leitfaden "Anwendung erstellen" noch nicht abgeschlossen haben, führen Sie folgende Aufgaben aus:

  1. Erstellen Sie mit einer App Engine-Anwendung ein Google Cloud-Projekt.
  2. Schreiben Sie einen einfachen Node.js-Webdienst
  3. Stellen Sie den Webdienst in App Engine bereit.

Beispielwebdienst aktualisieren

In den folgenden Abschnitten wird der Beispielwebdienst mit einem Formular und einem Handler aktualisiert, die reagieren, wenn ein Nutzer das Formular sendet.

Formular für Nutzereingabe erstellen

Verwenden Sie ein HTML-Formular, damit ein Nutzer Daten an Ihren Server senden kann.

  1. Erstellen Sie im Ordner my-nodejs-service einen Ordner mit dem Namen views zum Speichern Ihrer HTML-Dateien.

  2. Erstellen Sie im Ordner views eine Datei namens form.html und fügen Sie den folgenden Code ein:

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

In diesem einfachen Formular können Nutzer ihren Namen und eine Nachricht eingeben, die dann an den Server gesendet werden. Die Daten werden per HTTP-POST-Anfrage an /submit gesendet, wie durch die Attribute method und action des Elements <form> festgelegt wurde.

Die Dateistruktur sollte jetzt etwa so aussehen:

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

Formular anzeigen

  1. Fügen Sie oben in der server.js-Datei folgende Zeile ein, um das Modul path zu importieren:

    const path = require(`path`);
    
  2. Fügen Sie den folgenden Express-Handler hinzu, um das Formular anzuzeigen, wenn ein Nutzer zu /submit navigiert:

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

Handler für übermittelte Daten erstellen

Wenn ein Nutzer eine Nachricht an den Server sendet, wird eine POST-Anfrage mit den Daten an /submit gesendet. Verwenden Sie zum Lesen der Daten aus dem Hauptteil der Anfrage die Express-Middleware urlencoded und erstellen Sie einen neuen Anfrage-Handler.

  1. Legen Sie Ihre Anwendung zur Verwendung der Express-Middleware urlencoded fest:

    // This middleware is available in Express v4.16.0 onwards
    app.use(express.urlencoded({extended: true}));
  2. Fügen Sie der Datei server.js einen POST-Handler hinzu, um die Daten zu lesen:

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

Dieser Beispiel-Handler protokolliert den Namen und die Nachricht des Nutzers in der Konsole. Sie können jedoch auch Datenoperationen durchführen oder sie in einer Datenbank speichern.

Formular lokal testen

Testen Sie das neue Formular lokal, bevor Sie Ihre Änderungen implementieren.

  1. Starten Sie den Node.js-Server:

    npm start
    
  2. Rufen Sie Ihr Formular unter http://localhost:8080/submit auf.

    Senden Sie eine Nachricht mit dem Formular. Ihr Name und Ihre Nachricht sollten in Ihrem Terminal angezeigt werden.

Änderungen bereitstellen

Wenn Sie eine Aktualisierung bereitstellen, wird eine neue Version Ihres Standarddiensts erstellt und Traffic wird automatisch an die neueste Version weitergeleitet. So führen Sie die Bereitstellung aus:

  1. Führen Sie im Ordner my-nodejs-service den folgenden Befehl aus:

    gcloud app deploy
    

    Dabei handelt es sich um den Befehl, den Sie unter Webdienst bereitstellen gelernt haben.

  2. Prüfen Sie, ob eine neue Version in der Google Cloud Console aufgeführt ist:

    Versionen aufrufen

    Es sollten zwei Versionen angezeigt werden, die der vorherigen und der aktuellen Bereitstellung entsprechen.

Nach der Bereitstellung steht das neue Formular unter https://PROJECT_ID.REGION_ID.r.appspot.com/submit zur Verfügung. Senden Sie ein oder zwei Nachrichten.

Wenn Sie die vorherige Version nicht mehr benötigen, können Sie sie auf der Versionsseite der Google Cloud Console löschen.

Nächste Schritte

Ihre Anwendung enthält nun ein Formular, über das Nutzer Daten senden können. Im nächsten Schritt wird beschrieben, wie Sie die Logs Ihrer Anwendung in der Google Cloud Console aufrufen.