Datenbank abfragen

In Ihrem Webhook werden derzeit hartcodierte Daten in der Funktion accountBalanceCheck verwendet. In diesem Schritt der Anleitung erstellen Sie eine Spanner-Datenbank, füllen sie mit Saldo-Daten und aktualisieren Ihre Funktion, um die Datenbank abzufragen.

Projektkonfiguration

Ihr Dialogflow-Agent und die Datenbank müssen sich im selben Projekt befinden. Dies ist die einfachste Möglichkeit, Ihrer Funktion einen sicheren Zugriff auf Ihre Datenbank zu ermöglichen. Außerdem müssen Sie die Spanner API aktivieren.

  1. Wählen Sie in der Google Cloud Console Ihr Projekt aus, bevor Sie die Datenbank erstellen.

    Zur Projektauswahl

  2. Aktivieren Sie die Spanner API für das Projekt.

    Spanner API aktivieren

Spanner-Instanz erstellen

Wenn Sie Spanner zum ersten Mal verwenden, müssen Sie eine Instanz erstellen. Dabei handelt es sich um eine Zuordnung von Ressourcen, die von Spanner-Datenbanken in dieser Instanz verwendet werden.

  1. Rufen Sie in der Google Cloud -Console die Seite Spanner-Instanzen auf.

    Cloud Spanner-Instanzen aufrufen

  2. Klicken Sie auf Instanz erstellen.

  3. Geben Sie für den Instanznamen Tutorial Instance ein.

  4. Die Instanz-ID wird automatisch anhand des Instanznamens eingegeben.

  5. Behalten Sie unter Konfiguration auswählen die Standardoption Regional bei und wählen Sie dieselbe Region aus, die Sie beim Erstellen der Funktion ausgewählt haben.

  6. Geben Sie unter Rechenkapazität zuweisen 100 Verarbeitungseinheiten ein. So wird eine Mindestkapazität für das Tutorial bereitgestellt.

  7. Klicken Sie auf Erstellen. In der Google Cloud Console wird die Seite Übersicht für die von Ihnen erstellte Instanz angezeigt.

Spanner-Datenbank erstellen

Nachdem Sie eine Instanz haben, müssen Sie eine Datenbank erstellen. So erstellen Sie eine Datenbank:

  1. Klicken Sie auf der Seite Übersicht der Instanz auf Datenbank erstellen.
  2. Geben Sie für den Datenbanknamen tutorial-database ein.
  3. Wählen Sie den Datenbankdialekt Google Standard-SQL aus.
  4. Klicken Sie auf Erstellen. In der Google Cloud Console wird die Seite Übersicht für die von Ihnen erstellte Datenbank angezeigt.

Tabellen für die Datenbank erstellen

Nachdem Sie eine Datenbank erstellt haben, müssen Sie Tabellen für die Datenbank erstellen. So erstellen Sie Tabellen:

  1. Klicken Sie im Abschnitt „Tabellen“ auf der Seite Übersicht der Datenbank auf Tabelle erstellen.
  2. Geben Sie auf der Seite DDL-Anweisungen schreiben Folgendes ein:

    CREATE TABLE Checking (
      AccountId INT64,
      Balance INT64,
    ) PRIMARY KEY(AccountId);
    
  3. Klicken Sie auf Senden. In der Google Cloud Console wird die Seite Übersicht der Datenbank wieder geöffnet und es wird angezeigt, dass Schemaaktualisierungen ausgeführt werden. Warte, bis das Update abgeschlossen ist.

  4. Klicken Sie im Abschnitt „Tabellen“ auf der Seite Übersicht der Datenbank auf Tabelle erstellen.

  5. Geben Sie auf der Seite DDL-Anweisungen schreiben Folgendes ein:

    CREATE TABLE Savings (
      AccountId INT64,
      Balance INT64,
    ) PRIMARY KEY(AccountId);
    
  6. Klicken Sie auf Senden. In der Google Cloud Console wird die Seite Übersicht der Datenbank wieder geöffnet und es wird angezeigt, dass Schemaaktualisierungen ausgeführt werden. Warte, bis das Update abgeschlossen ist.

Daten in Tabellen einfügen

Nachdem Ihre Datenbank Tabellen enthält, müssen Sie den Tabellen Daten hinzufügen. So fügen Sie Daten hinzu:

  1. Klicken Sie auf der Seite Übersicht der Datenbank in der Liste der Tabellen auf die Tabelle „Checking“. In der Google Cloud Console wird die Seite Schema der Tabelle angezeigt.
  2. Klicken Sie im linken Navigationsmenü auf Daten, um die Seite Daten der Tabelle aufzurufen.
  3. Klicken Sie auf Einfügen. In der Google Cloud -Konsole wird die Seite Abfrage der Tabelle mit einem neuen Abfragetab angezeigt, der die INSERT- und SELECT-Anweisungen enthält. Überschreiben Sie diese Anweisungen mit den folgenden:

    INSERT INTO Checking (AccountId, Balance)
    VALUES(1, 1000),
          (2, 2000);
    
  4. Klicken Sie auf Ausführen.

  5. Klicken Sie im linken Navigationsmenü noch einmal auf Daten, um die Daten der Tabelle aufzurufen. Prüfen Sie, ob die Tabelle die gewünschten Daten enthält.

  6. Klicken Sie auf den Link tutorial-database: Overview (Tutorial-Datenbank: Übersicht), um zur Datenbankübersichtsseite zurückzukehren.

  7. Klicken Sie auf der Seite Übersicht der Datenbank in der Liste der Tabellen auf die Tabelle „Savings“ (Einsparungen). In der Google Cloud Console wird die Seite Schema der Tabelle angezeigt.

  8. Klicken Sie im linken Navigationsmenü auf Daten, um die Seite Daten der Tabelle aufzurufen.

  9. Klicken Sie auf Einfügen. In der Google Cloud -Konsole wird die Seite Abfrage der Tabelle mit einem neuen Abfragetab angezeigt, der die INSERT- und SELECT-Anweisungen enthält. Überschreiben Sie diese Anweisungen mit den folgenden:

    INSERT INTO Savings (AccountId, Balance)
    VALUES(1, 10000),
          (2, 20000);
    
  10. Klicken Sie auf Ausführen.

  11. Klicken Sie im linken Navigationsmenü noch einmal auf Daten, um die Daten der Tabelle aufzurufen. Prüfen Sie, ob die Tabelle die gewünschten Daten enthält.

Cloud Function zum Abfragen der Datenbank aktualisieren

Die Funktion accountBalanceCheck im Webhook-Code prüft, ob bestimmte Umgebungsvariablen mit Informationen zum Herstellen einer Verbindung zur Datenbank festgelegt sind. Wenn diese Umgebungsvariablen nicht festgelegt sind, verwendet die Funktion einen fest codierten Kontostand.

Nachdem Sie eine Datenbank eingerichtet haben, müssen Sie Ihre Cloud Function aktualisieren, um die erforderlichen Umgebungsvariablen festzulegen:

  1. Öffnen Sie die Übersichtsseite zu Cloud Functions.

    Zur Übersicht zu Cloud Functions

  2. Klicken Sie auf die Funktion „tutorial-banking-webhook“, um die zugehörige Detailseite aufzurufen.

  3. Klicken Sie auf Bearbeiten.

  4. Öffnen Sie den Bereich Laufzeit-, Build- und Verbindungseinstellungen.

  5. Wählen Sie den Tab Laufzeit aus.

  6. Fügen Sie im Bereich „Laufzeit-Umgebungsvariablen“ die folgenden Variablen hinzu:

    • PROJECT_ID: Ihre Projekt-ID.
    • SPANNER_INSTANCE_ID: Ihre Spanner-Instanz-ID (wahrscheinlich tutorial-instance)
    • SPANNER_DATABASE_ID: Ihre Spanner-Datenbank-ID (wahrscheinlich tutorial-database)
  7. Klicken Sie auf Weiter.

  8. Klicken Sie auf Bereitstellen.

  9. Warten Sie, bis die Statusanzeige angibt, dass die Funktion erfolgreich bereitgestellt wurde.

Agent testen

Ihr KI-Agent kann jetzt getestet werden. Klicken Sie in der Dialogflow-Konsole auf die Schaltfläche Agent testen, um den Simulator zu öffnen. Versuchen Sie, die folgende Unterhaltung mit dem KI-Agenten zu führen:

Unterhaltungsrunde Ich Agent
1 Hallo! Hallo, vielen Dank, dass Sie sich für die ACME Bank entschieden haben.
2 Ich möchte meinen Kontostand wissen Für welches Konto möchtest du den Kontostand abrufen: Sparkonto oder Girokonto?
3 Wird überprüft Ihr aktueller Saldo: 10,00 $

Wenn Sie sich den Code ansehen, werden Sie feststellen, dass $10 nicht der hartcodierte Wert ist. Das bedeutet, dass Ihr Webhook erfolgreich mit der Datenbank verbunden wurde, die ein Guthaben von 10 $hat.

Fehlerbehebung

Der Webhook-Code enthält Logging-Anweisungen. Wenn Probleme auftreten, können Sie die Logs für Ihre Cloud Functions-Funktion aufrufen.

Wenn Ihre Funktion keine Verbindung zur Datenbank herstellt und in den Logs ein Berechtigungsfehler angezeigt wird, müssen Sie möglicherweise die Rolle für das standardmäßige Dienstkonto korrigieren, das von Ihrer Funktion verwendet wird. Dieses Dienstkonto hat das Format PROJECT_ID@appspot.gserviceaccount.com. Sie haben dazu folgende Möglichkeiten:

Weitere Informationen

Weitere Informationen zu den oben genannten Schritten finden Sie hier: