In diesem Dokument wird erläutert, wie Sie ein Pub/Sub-Thema mit Single Message Transforms (SMTs) erstellen.
Mit Thema-SMTs können Sie direkt in Pub/Sub einfache Änderungen an Nachrichtendaten und -attributen vornehmen. Mit dieser Funktion können Sie Daten bereinigen, filtern oder das Format konvertieren, bevor die Nachrichten im Thema veröffentlicht werden.
Sie können ein Thema mit SMTs über die Google Cloud Console, die Google Cloud CLI, die Clientbibliothek oder die Pub/Sub API erstellen.
Hinweis
Informationen zum Pub/Sub-Dienst und seiner Terminologie
Informationen zu SMTs
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die
Pub/Sub-Bearbeiter (roles/pubsub.editor) IAM-Rolle für Ihr Projekt zuzuweisen, um die Berechtigung zum Erstellen eines Themas mit SMTs zu erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die
pubsub.topics.create
Berechtigung,
die zum Erstellen eines Themas mit SMTs erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Thema mit SMTs erstellen
Bevor Sie ein Thema mit SMTs erstellen, lesen Sie die Dokumentation zu den Eigenschaften eines Themas.
Führen Sie die folgenden Schritte aus, um ein Pub/Sub-Thema mit einem oder mehreren SMTs zu erstellen. Sie können bis zu fünf SMTs pro Thema aktivieren.
Console
Öffnen Sie in der Google Cloud Console die Pub/Sub-Themen Seite.
Klicken Sie auf Thema erstellen.
Geben Sie im Feld Themen-ID eine ID für das Thema ein. Weitere Informationen zum Benennen von Themen finden Sie in den Benennungsrichtlinien.
Klicken Sie unter Transformationen auf Transformation hinzufügen.
Wählen Sie den Transformationstyp aus. Weitere Informationen zu den unterstützten SMT Typen finden Sie unter SMT-Typen.
Legen Sie die Konfigurationseigenschaften für die SMT fest. Die Eigenschaften hängen vom Typ der SMT ab. Weitere Informationen finden Sie in der Dokumentation für den jeweiligen SMT-Typ.
Optional. Klicken Sie auf Validieren, um die SMT zu validieren. Wenn die SMT gültig ist, wird die Meldung
"Validation passed"angezeigt. Andernfalls wird eine Fehlermeldung angezeigt.Wenn Sie eine weitere Transformation hinzufügen möchten, klicken Sie auf Transformation hinzufügen und wiederholen Sie die vorherigen Schritte.
Wenn Sie die SMTs in einer bestimmten Reihenfolge anordnen möchten, klicken Sie auf Nach oben verschieben oder Nach unten verschieben. Wenn Sie eine SMT entfernen möchten, klicken Sie auf Löschen.
Optional. So testen Sie eine SMT mit einer Beispielnachricht:
Klicken Sie auf Transformationen testen.
Wählen Sie im Fenster Transformation testen die Funktion aus, die Sie testen möchten.
Geben Sie im Fenster Eingabenachricht eine Beispielnachricht ein.
Wenn Sie der Nachricht ein Attribut hinzufügen möchten, klicken Sie auf Attribut hinzufügen und geben Sie den Schlüssel und den Wert des Attributs ein. Sie können mehrere Attribute hinzufügen.
Klicken Sie auf Test. Das Ergebnis der Anwendung der SMT auf die Nachricht wird unter Ausgabenachricht angezeigt.
Klicken Sie auf Schließen, um das Fenster Transformationen testen zu schließen.
Wenn Sie mehrere SMTs erstellen, können Sie die gesamte Transformationssequenz so testen:
- Testen Sie die erste SMT in der Sequenz wie in den vorherigen Schritten beschrieben.
- Wählen Sie die nächste SMT aus. Die Eingabenachricht wird automatisch mit der Ausgabenachricht aus dem vorherigen Test gefüllt.
- Testen Sie die SMTs der Reihe nach, um sicherzustellen, dass die gesamte Sequenz wie erwartet funktioniert.
Klicken Sie auf Erstellen, um das Thema zu erstellen.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Erstellen Sie eine YAML- oder JSON-Datei, die eine oder mehrere SMTs definiert. Die YAML- oder JSON-Definition hängt vom Typ der SMT ab. Weitere Informationen finden Sie unter SMT-Typen.
Wenn die Datei mehrere SMTs enthält, führt Pub/Sub sie in der aufgeführten Reihenfolge aus.
Optional. Führen Sie den
gcloud pubsub message-transforms validateBefehl aus, um eine SMT zu validieren:gcloud pubsub message-transforms validate \ --message-transform-file=TRANSFORM_FILEErsetzen Sie Folgendes:
- TRANSFORM_FILE: Der Pfad zu einer YAML- oder JSON-Datei die eine einzelne SMT definiert. Wenn Sie mehrere SMTs erstellen, müssen Sie sie einzeln validieren.
Optional. Führen Sie den
gcloud pubsub message-transforms testBefehl aus, um eine oder mehrere SMTs mit einer Pub/Sub Beispielnachricht zu testen:gcloud pubsub message-transforms test \ --message-transforms-file=TRANSFORMS_FILE \ --message=MESSAGE \ --attribute=ATTRIBUTESErsetzen Sie Folgendes:
- TRANSFORMS_FILE: Der Pfad zu einer YAML- oder JSON-Datei die eine oder mehrere SMTs definiert.
- MESSAGE: Der Text der Beispielnachricht.
- ATTRIBUTES: Optional. Eine durch Kommas getrennte Liste von Nachrichtenattributen. Jedes Attribut ist ein Schlüssel/Wert-Paar im Format
KEY="VALUE".
Der Befehl führt die SMTs der Reihe nach aus und verwendet die Ausgabe jeder SMT als Eingabe für die nächste. Der Befehl gibt die Ergebnisse jedes Schritts aus.
Führen Sie den
gcloud pubsub topics createBefehl aus, um das Thema zu erstellen:gcloud pubsub topics create TOPIC_ID \ --message-transforms-file=TRANSFORMS_FILEErsetzen Sie Folgendes:
- TOPIC_ID: Die ID oder der Name des Themas, das Sie erstellen möchten. Richtlinien zum Benennen eines Themas finden Sie unter Ressourcennamen. Der Name eines Themas kann nicht geändert werden.
- TRANSFORMS_FILE: Der Pfad zu einer YAML- oder JSON-Datei die eine oder mehrere SMTs definiert.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Go
Im folgenden Beispiel wird die Hauptversion der Go Pub/Sub-Clientbibliothek (Version 2) verwendet. Wenn Sie noch die Version 1 verwenden, lesen Sie den Migrationsleitfaden zu Version 2. Eine Liste der Codebeispiele für Version 1 finden Sie unter Veraltete Codebeispiele.
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.