Serverseitige Remote Config mit Cloud Functions und Agent Platform verwenden

In diesem Leitfaden wird beschrieben, wie Sie mit Cloud Functions der 2. Generation und serverseitigem Remote Config serverseitige Aufrufe an die Agent Platform Gemini API (formerly Vertex AI) senden.

In dieser Anleitung fügen Sie Remote Config einer chatbotähnlichen Funktion hinzu, die ein Gemini-Modell verwendet, um Nutzerfragen zu beantworten. Remote Config verwaltet Gemini API-Eingaben (einschließlich eines Prompts, den Sie eingehenden Nutzeranfragen voranstellen). Sie können diese Eingaben bei Bedarf über die Firebase-Konsole aktualisieren. Sie verwenden auch das Firebase Local Emulator Suite, um die Funktion zu testen und zu debuggen. Nachdem Sie überprüft haben, ob sie funktioniert, stellen Sie sie in Google Cloud bereit und testen sie dort.

Vorbereitung

In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Entwicklung von Anwendungen mit JavaScript vertraut sind.

Firebase-Projekt einrichten

Wenn Sie noch kein Firebase-Projekt haben:

  1. Melden Sie sich in der Firebase Console an.

  2. Klicken Sie auf Projekt erstellen und verwenden Sie eine der folgenden Optionen:

    • Option 1: Erstellen Sie ein neues Firebase-Projekt (und automatisch das zugrunde liegende Google Cloud-Projekt), indem Sie im ersten Schritt des Workflows „Projekt erstellen“ einen neuen Projektnamen eingeben.
    • Option 2: „Firebase zu einem vorhandenen Google Cloud-Projekt hinzufügen“. Wählen Sie dazu im ersten Schritt des Workflows „Projekt erstellen“ den Namen Ihres Google Cloud-Projekts aus dem Drop-down-Menü aus.
  3. Wenn Sie dazu aufgefordert werden, müssen Sie Google Analytics nicht einrichten, um diese Lösung zu verwenden.

  4. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Projekt zu erstellen.

Wenn Sie bereits ein Firebase-Projekt haben:

Fahren Sie mit Entwicklungsumgebung konfigurieren fort.

Entwicklungsumgebung konfigurieren

Sie benötigen eine Node.js-Umgebung, um Funktionen zu schreiben, und die Firebase-Befehlszeile, um Funktionen in der Cloud Functions-Laufzeit bereitzustellen.

  1. Installieren Sie Node.js und npm.

    Für die Installation von Node.js und npm empfehlen wir die Verwendung des Node Versionsmanagers.

  2. Installieren Sie die Firebase-Befehlszeile mit Ihrer bevorzugten Methode. Wenn Sie die Befehlszeile beispielsweise mit npm installieren möchten, führen Sie diesen Befehl aus:

    npm install -g firebase-tools@latest
    

    Mit diesem Befehl wird der global verfügbare Befehl firebase installiert. Wenn dieser Befehl fehlschlägt, müssen Sie möglicherweise die npm-Berechtigungen ändern.

    Wenn Sie auf die aktuelle Version von firebase-tools aktualisieren möchten, führen Sie denselben Befehl noch einmal aus.

  3. Installieren Sie firebase-functions und firebase-admin und speichern Sie sie mit --save in Ihrer package.json:

    npm install firebase-functions@latest firebase-admin@latest --save
    

Sie können jetzt mit der Implementierung dieser Lösung fortfahren.

Implementierung

So erstellen, testen und stellen Sie eine Cloud Functions der 2. Generation mit Remote Config und Agent Platform bereit:

  1. Aktivieren Sie Agent Platform empfohlene APIs in der Google Cloud Console.
  2. Projekt initialisieren und Node-Abhängigkeiten installieren
  3. Konfigurieren Sie IAM-Berechtigungen für Ihr Admin SDK-Dienstkonto und speichern Sie Ihren Schlüssel.
  4. Funktion erstellen
  5. Erstellen Sie eine serverspezifische Remote Config-Vorlage.
  6. Stellen Sie Ihre Funktion bereit und testen Sie sie in der Firebase Local Emulator Suite.
  7. Stellen Sie Ihre Funktion in Google Cloud bereit.

Schritt 1: Agent Platform empfohlene APIs in der Google Cloud Console aktivieren

  1. Öffnen Sie die Google Cloud-Console und wählen Sie bei Aufforderung Ihr Projekt aus.
  2. Geben Sie oben in der Console im Feld Suchen den Wert Agent Platform ein und warten Sie, bis Agent Platform als Ergebnis angezeigt wird.
  3. Wählen Sie Agent Platform aus. Das Dashboard Agent Platform wird angezeigt.
  4. Klicken Sie auf Alle empfohlenen APIs aktivieren.

    Es kann einen Moment dauern, bis die API-Aktivierung abgeschlossen ist. Lassen Sie die Seite aktiv und geöffnet, bis die Aktivierung abgeschlossen ist.

  5. Wenn die Abrechnung nicht aktiviert ist, werden Sie aufgefordert, ein Cloud Billing-Konto hinzuzufügen oder zu verknüpfen. Kehren Sie nach dem Aktivieren eines Rechnungskontos zum Agent Platform-Dashboard zurück und prüfen Sie, ob alle empfohlenen APIs aktiviert sind.

Schritt 2: Projekt initialisieren und Node-Abhängigkeiten installieren

  1. Öffnen Sie ein Terminal auf Ihrem Computer und rufen Sie das Verzeichnis auf, in dem Sie die Funktion erstellen möchten.
  2. Melden Sie sich in Firebase an:

    firebase login
    
  3. Führen Sie den folgenden Befehl aus, um Cloud Functions for Firebase zu initialisieren:

    firebase init functions
    
  4. Wählen Sie Vorhandenes Projekt verwenden aus und geben Sie Ihre Projekt-ID an.

  5. Wenn Sie aufgefordert werden, die zu verwendende Sprache auszuwählen, wählen Sie JavaScript aus und drücken Sie die Eingabetaste.

  6. Wählen Sie für alle anderen Optionen die Standardeinstellungen aus.

    Im aktuellen Verzeichnis wird ein functions-Verzeichnis erstellt. Darin finden Sie eine index.js-Datei, mit der Sie Ihre Funktion erstellen, ein node_modules-Verzeichnis, das die Abhängigkeiten für Ihre Funktion enthält, und eine package.json-Datei, die die Paketabhängigkeiten enthält.

  7. Fügen Sie die Pakete Admin SDK und Agent Platform mit den folgenden Befehlen hinzu. Verwenden Sie dabei --save, um sicherzustellen, dass sie in der Datei package.json gespeichert werden:

    cd functions
    npm install firebase-admin@latest @google-cloud/vertexai --save
    

Ihre functions/package.json-Datei sollte jetzt wie folgt aussehen, wobei die aktuellen Versionen angegeben sind:

  {
    "name": "functions",
    "description": "Cloud Functions for Firebase",
    "scripts": {
      "serve": "firebase emulators:start --only functions",
      "shell": "firebase functions:shell",
      "start": "npm run shell",
      "deploy": "firebase deploy --only functions",
      "logs": "firebase functions:log"
    },
    "engines": {
      "node": "20"
    },
    "main": "index.js",
    "dependencies": {
      "@google-cloud/vertexai": "^1.1.0",
      "firebase-admin": "^12.1.0",
      "firebase-functions": "^5.0.0"
    },
    "devDependencies": {
      "firebase-functions-test": "^3.1.0"
    },
    "private": true
  }

Wenn Sie ESLint verwenden, wird eine Strophe angezeigt, die es enthält. Achten Sie außerdem darauf, dass die Version der Node-Engine mit der installierten Version von Node.js und der Version übereinstimmt, die Sie letztendlich in Google Cloud ausführen. Wenn beispielsweise die engines-Anweisung in Ihrer package.json als Node-Version 18 konfiguriert ist und Sie Node.js 20 verwenden, aktualisieren Sie die Datei, um 20 zu verwenden:

  "engines": {
    "node": "20"
  },

Schritt 3: IAM-Berechtigungen für Ihr Admin SDK-Dienstkonto konfigurieren und Schlüssel speichern

In dieser Lösung verwenden Sie das Firebase-Dienstkonto Admin SDK, um Ihre Funktion auszuführen.

  1. Öffnen Sie in der Google Cloud-Konsole die Seite IAM und Verwaltung und suchen Sie das Admin SDK-Dienstkonto (mit dem Namen firebase-adminsdk).
  2. Wählen Sie das Konto aus und klicken Sie auf Hauptkonto bearbeiten. Die Seite „Bearbeitungszugriff“ wird angezeigt.
  3. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Remote Config-Betrachter aus.
  4. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie KI-Plattform-Entwickler aus.
  5. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Agent Platform-Nutzer aus.
  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Cloud Run Invoker aus.
  7. Klicken Sie auf Speichern.

Exportieren Sie als Nächstes die Anmeldedaten für das Dienstkonto Admin SDK und speichern Sie sie in der Umgebungsvariablen GOOGLE_APPLICATION_CREDENTIALS.

  1. Öffnen Sie in der Google Cloud Console die Seite Anmeldedaten.
  2. Klicken Sie auf das Dienstkonto Admin SDK, um die Seite Details zu öffnen.
  3. Klicken Sie auf Schlüssel.
  4. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  5. Achten Sie darauf, dass als Schlüsseltyp die Option JSON ausgewählt ist, und klicken Sie dann auf Erstellen.
  6. Laden Sie den Schlüssel an einen sicheren Ort auf Ihrem Computer herunter.
  7. Exportieren Sie den Schlüssel im Terminal als Umgebungsvariable:

    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"
    

Schritt 4: Funktion erstellen

In diesem Schritt erstellen Sie eine Funktion, die Nutzereingaben verarbeitet und KI-basierte Antworten generiert. Sie kombinieren mehrere Code-Snippets, um eine umfassende Funktion zu erstellen, die Admin SDK und Agent Platform Gemini API (formerly Vertex AI) initialisiert, Standardparameter mit Remote Config konfiguriert, die neuesten Remote Config-Parameter abruft, Nutzereingaben verarbeitet und eine Antwort an den Nutzer zurückstreamt.

  1. Öffnen Sie in Ihrer Codebasis functions/index.js in einem Texteditor oder einer IDE.
  2. Löschen Sie den vorhandenen Inhalt und fügen Sie dann das Admin SDK-, Remote Config- und Agent Platform-SDK hinzu. Initialisieren Sie die App, indem Sie den folgenden Code in die Datei einfügen:

    const { onRequest } = require("firebase-functions/https");
    const { requiresRole, requiresAPI } = require("firebase-functions");
    const logger = require("firebase-functions/logger");
    
    const { initializeApp } = require("firebase-admin/app");
    const { VertexAI } = require('@google-cloud/vertexai');
    const { getRemoteConfig } = require("firebase-admin/remote-config");
    
    requiresRole("roles/aiplatform.user");
    requiresRole("roles/cloudconfig.viewer");
    requiresAPI("aiplatform.googleapis.com", "Needed to query Vertex AI Gemini models");
    requiresAPI("firebaseremoteconfig.googleapis.com", "Needed to fetch server-side Remote Config templates");
    
    // Set and check environment variables.
    const project = process.env.GCLOUD_PROJECT;
    
    // Initialize Firebase.
    const app = initializeApp();
    
  3. Konfigurieren Sie Standardwerte, die Ihre Funktion verwendet, wenn sie keine Verbindung zum Remote Config-Server herstellen kann. In dieser Lösung werden textModel, generationConfig, safetySettings, textPrompt und location als Remote Config-Parameter konfiguriert, die den Remote Config-Parametern entsprechen, die Sie im weiteren Verlauf dieses Leitfadens konfigurieren. Weitere Informationen zu diesen Parametern finden Sie unter Vertex AI Node.js-Client.

    Optional können Sie auch einen Parameter konfigurieren, um zu steuern, ob Sie auf die Agent Platform Gemini API (formerly Vertex AI) zugreifen (in diesem Beispiel ein Parameter namens vertex_enabled). Diese Einrichtung kann beim Testen Ihrer Funktion nützlich sein. In den folgenden Code-Snippets ist dieser Wert auf false festgelegt. Dadurch wird die Verwendung von Agent Platform übersprungen, während Sie die grundlegende Funktionsbereitstellung testen. Wenn Sie den Wert auf true setzen, wird Agent Platform Gemini API (formerly Vertex AI) aufgerufen.

    // Define default (fallback) parameter values for Remote Config.
    const defaultConfig = {
    
      // Default values for Vertex AI.
      model_name: "gemini-1.5-flash-002",
      generation_config: [{
        "stopSequences": [], "temperature": 0.7,
        "maxOutputTokens": 64, "topP": 0.1, "topK": 20
      }],
      prompt: "I'm a developer who wants to learn about Firebase and you are a \
        helpful assistant who knows everything there is to know about Firebase!",
      safety_settings: [{
        "category":
          "HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT",
        "threshold": "HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE"
      }],
      location: 'us-central1',
    
      // Disable Vertex AI Gemini API access for testing.
      vertex_enabled: false
    };
    
  4. Erstellen Sie die Funktion und richten Sie die serverseitige Remote Config ein:

    // Export the function.
    exports.generateWithVertex = onRequest(async (request, response) => {
    
      try {
    
        // Set up Remote Config.
        const rc = getRemoteConfig(app);
    
        // Get the Remote Config template and assign default values.
        const template = await rc.getServerTemplate({
          defaultConfig: defaultConfig
        });
    
        // Add the template evaluation to a constant.
        const config = template.evaluate();
    
        // Obtain values from Remote Config.
        const textModel = config.getString("model_name") ||
            defaultConfig.model_name;
        const textPrompt = config.getString("prompt") || defaultConfig.prompt;
        const generationConfig = config.getString("generation_config") ||
            defaultConfig.generation_config;
        const safetySettings = config.getString("safety_settings") ||
            defaultConfig.safety_settings;
        const location = config.getString("location") ||
            defaultConfig.location;
        const vertexEnabled = config.getBoolean("is_vertex_enabled") ||
            defaultConfig.vertex_enabled;
    
  5. Richten Sie Agent Platform ein und fügen Sie die Chat- und Antwortlogik hinzu:

      // Allow user input.
      const userInput = request.query.prompt || '';
    
      // Instantiate Vertex AI.
        const vertex_ai = new VertexAI({ project: project, location: location });
        const generativeModel = vertex_ai.getGenerativeModel({
          model: textModel,
          safety_settings: safetySettings,
          generation_config: generationConfig,
        });
    
        // Combine prompt from Remote Config with optional user input.
        const chatInput = textPrompt + " " + userInput;
    
        if (!chatInput) {
          return res.status(400).send('Missing text prompt');
        }
        // If vertexEnabled isn't true, do not send queries to Vertex AI.
        if (vertexEnabled !== true) {
          response.status(200).send({
            message: "Vertex AI call skipped. Vertex is not enabled."
          });
          return;
        }
    
        logger.log("\nRunning with model ", textModel, ", prompt: ", textPrompt,
          ", generationConfig: ", generationConfig, ", safetySettings: ",
          safetySettings, " in ", location, "\n");
    
        const result = await generativeModel.generateContentStream(chatInput); 
        response.writeHead(200, { 'Content-Type': 'text/plain' });
    
        for await (const item of result.stream) {
          const chunk = item.candidates[0].content.parts[0].text;
          logger.log("Received chunk:", chunk);
          response.write(chunk);
        }
    
        response.end();
    
      } catch (error) {
        logger.error(error);
        response.status(500).send('Internal server error');
      }
    });
    
  6. Speichern und schließen Sie die Datei.

Schritt 5: Serverspezifische Remote Config-Vorlage erstellen

Erstellen Sie als Nächstes eine serverseitige Remote Config-Vorlage und konfigurieren Sie Parameter und Werte, die in Ihrer Funktion verwendet werden sollen. So erstellen Sie eine serverspezifische Remote Config-Vorlage:

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > Remote Config auf.

  2. Wählen Sie oben auf der Seite in der Auswahl Client/Server die Option Server aus.

    • Wenn Sie Remote Config oder Servervorlagen zum ersten Mal verwenden, klicken Sie auf Konfiguration erstellen. Der Bereich Ersten serverseitigen Parameter erstellen wird angezeigt.
    • Wenn Sie Remote Config-Servervorlagen nicht zum ersten Mal verwenden, klicken Sie auf Parameter hinzufügen.
  3. Definieren Sie die folgenden Remote Config-Parameter:

    Parametername Beschreibung Typ Standardwert
    model_name Modellname
    Aktuelle Listen der Modellnamen, die Sie in Ihrem Code verwenden können, finden Sie unter Modellversionen und Lebenszyklen oder Verfügbare Modellnamen.
    String gemini-2.0-flash
    prompt Prompt, der der Abfrage des Nutzers vorangestellt werden soll. String I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!
    generation_config Parameter, die an das Modell gesendet werden sollen JSON [{"stopSequences": ["I hope this helps"],"temperature": 0.7,"maxOutputTokens": 512, "topP": 0.1,"topK": 20}]
    safety_settings Sicherheitseinstellungen für Agent Platform JSON [{"category": "HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "HarmBlockThreshold.BLOCK_LOW_AND_ABOVE"}]
    location Standort für das Ausführen des Agent Platform-Dienstes und des Modells String global
    is_vertex_enabled Optionaler Parameter, der steuert, ob Abfragen an Agent Platform gesendet werden. Boolesch true
  4. Wenn Sie alle Parameter hinzugefügt haben, prüfen Sie sie noch einmal und achten Sie darauf, dass die Datentypen korrekt sind. Klicken Sie dann auf Änderungen veröffentlichen.

Schritt 6: Funktion bereitstellen und in der Firebase Local Emulator Suite testen

Jetzt können Sie die Funktion lokal mit dem Firebase Local Emulator Suite bereitstellen und testen.

  1. Achten Sie darauf, dass Sie GOOGLE_APPLICATION_CREDENTIALS als Umgebungsvariable festgelegt haben, wie in Schritt 3: IAM-Berechtigungen für Ihr Admin SDK-Dienstkonto konfigurieren und Schlüssel speichern beschrieben. Stellen Sie dann im übergeordneten Verzeichnis Ihres functions-Verzeichnisses Ihre Funktion im Firebase-Emulator bereit:

    firebase emulators:start --project PROJECT_ID --only functions
    
  2. Öffnen Sie die Logseite des Emulators. Es sollte angezeigt werden, dass die Funktion geladen wurde.

  3. Greifen Sie mit dem folgenden Befehl auf Ihre Funktion zu, wobei PROJECT_ID Ihre Projekt-ID und LOCATION die Region ist, in der Sie die Funktion bereitgestellt haben (z. B. us-central1):

    curl http://localhost:5001/PROJECT_ID/LOCATION/generateWithVertex
    
  4. Warten Sie auf eine Antwort und kehren Sie dann zur Seite mit den Firebase Emulator-Logs oder zur Console zurück, um nach Fehlern oder Warnungen zu suchen.

  5. Senden Sie eine Nutzereingabe. Da is_vertex_enabled in Ihrer Remote Config-Servervorlage konfiguriert ist, sollte dadurch über die Agent Platform Gemini API (formerly Vertex AI) auf das Gemini-Modell zugegriffen werden. Beachten Sie, dass hierfür Gebühren anfallen können:

    curl http://localhost:5001/PROJECT_ID/LOCATION/generateWithVertex?prompt=Tell%20me%20everything%20you%20know%20about%20cats
    
  6. Nehmen Sie in der Firebase-Konsole Änderungen an Ihrer Remote Config-Servervorlage vor und rufen Sie dann die Funktion noch einmal auf, um die Änderungen zu sehen.

Schritt 7: Funktion in Google Cloud bereitstellen

Nachdem Sie Ihre Funktion getestet und überprüft haben, können Sie sie in Google Cloud bereitstellen und die Live-Funktion testen.

Funktion bereitstellen

Stellen Sie die Funktion mit der Firebase-Befehlszeile bereit:

firebase deploy --only functions

Nicht authentifizierten Zugriff auf die Funktion blockieren

Wenn Funktionen mit Firebase bereitgestellt werden, sind nicht authentifizierte Aufrufe standardmäßig zulässig, sofern dies nicht durch die Richtlinie Ihrer Organisation eingeschränkt wird. Während des Tests und vor dem Sichern mit App Check empfehlen wir, nicht authentifizierten Zugriff zu blockieren.

So blockieren Sie den nicht authentifizierten Zugriff auf die Funktion:

  1. Öffnen Sie in der Google Cloud Console Cloud Run.

  2. Klicken Sie auf generateWithVertex und dann auf den Tab Sicherheit.

  3. Aktivieren Sie Authentifizierung erforderlich und klicken Sie dann auf Speichern.

Nutzerkonto für die Verwendung der Anmeldedaten des Dienstkontos Admin SDK konfigurieren

Da das Dienstkonto Admin SDK alle erforderlichen Rollen und Berechtigungen hat, um die Funktion auszuführen und mit Remote Config und Agent Platform Gemini API (formerly Vertex AI) zu interagieren, sollten Sie es zum Ausführen Ihrer Funktion verwenden. Dazu müssen Sie in der Lage sein, Tokens für das Konto über Ihr Nutzerkonto zu erstellen.

In den folgenden Schritten wird beschrieben, wie Sie Ihr Nutzerkonto und die Funktion so konfigurieren, dass sie mit den Berechtigungen des Dienstkontos Admin SDK ausgeführt werden.

  1. Aktivieren Sie in der Google Cloud Console die IAM Service Account Credentials API.
  2. Weisen Sie Ihrem Nutzerkonto die Rolle Ersteller von Dienstkonto-Tokens zu: Öffnen Sie in der Google Cloud-Konsole IAM und Verwaltung > IAM, wählen Sie Ihr Nutzerkonto aus und klicken Sie dann auf Hauptkonto bearbeiten > Weitere Rolle hinzufügen.
  3. Wählen Sie Ersteller von Dienstkonto-Tokens aus und klicken Sie dann auf Speichern.

    Weitere Informationen zur Identitätsübernahme des Dienstkontos finden Sie in der Google Cloud-Dokumentation unter Identitätsübernahme des Dienstkontos.

  4. Öffnen Sie in der Google Cloud Console die Seite Cloud Functions und klicken Sie in der Liste Funktionen auf die Funktion generateWithVertex.

  5. Wählen Sie Trigger > Bearbeiten aus und maximieren Sie Laufzeit, Build, Verbindungen und Sicherheitseinstellungen.

  6. Ändern Sie auf dem Tab Laufzeit das Laufzeitdienstkonto in das Admin SDK-Konto.

  7. Klicken Sie auf Weiter und dann auf Bereitstellen.

Die gcloud CLI einrichten

Wenn Sie Ihre Funktion sicher über die Befehlszeile ausführen und testen möchten, müssen Sie sich beim Dienst Cloud Functions authentifizieren und ein gültiges Authentifizierungstoken abrufen.

Installieren und konfigurieren Sie die gcloud CLI, um die Tokengenerierung zu aktivieren:

  1. Wenn die gcloud CLI noch nicht auf Ihrem Computer installiert ist, installieren Sie sie wie unter gcloud CLI installieren beschrieben.

  2. Rufen Sie Anmeldedaten für Ihr Google Cloud-Konto ab:

    gcloud auth login
    
  3. Legen Sie Ihre Projekt-ID in gcloud fest:

    gcloud config set project PROJECT_ID
    

Funktion testen

Jetzt können Sie Ihre Funktion in Google Cloud testen. Führen Sie den folgenden Befehl aus, um die Funktion zu testen:

curl -X POST https://LOCATION-PROJECT_ID.cloudfunctions.net/generateWithVertex \
  -H "Authorization: bearer $(gcloud auth print-identity-token)" \
  -H "Content-Type: application/json"

Versuchen Sie es noch einmal mit von Nutzern bereitgestellten Daten:

curl -X POST https://LOCATION-PROJECT_ID.cloudfunctions.net/generateWithVertex?prompt=Tell%20me%20everything%20you%20know%20about%20dogs \
 -H "Authorization: bearer $(gcloud auth print-identity-token)" \
 -H "Content-Type: application/json"

Sie können jetzt Änderungen an Ihrer Remote Config-Servervorlage vornehmen, diese Änderungen veröffentlichen und verschiedene Optionen testen.

Nächste Schritte