In diesem Dokument erfahren Sie, wie Sie Schemas für Pub/Sub-Themen validieren.
Sie können prüfen, ob Nachrichten einem bestimmten Schema entsprechen, bevor oder nachdem Sie eine Schemaressource erstellen. Mit diesem Schritt wird sichergestellt, dass die Nachrichten, die Sie über ein Thema senden möchten, das mit einem Schema verknüpft ist, tatsächlich übereinstimmen, bevor Sie das Schema anwenden.
Hinweise
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub Editor (roles/pubsub.editor
) für Ihr Projekt zu erteilen, um die Berechtigungen zu erhalten, die Sie zum Validieren und Verwalten von Schemameldungen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Validieren und Verwalten von Schemameldungen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Schemameldungen zu validieren und zu verwalten:
-
Schema erstellen:
pubsub.schemas.create
-
Schema an Thema anhängen:
pubsub.schemas.attach
-
Schemaüberarbeitung übernehmen:
pubsub.schemas.commit
-
Schema oder Schemaüberarbeitung löschen:
pubsub.schemas.delete
-
Schema oder Schemaversionen abrufen:
pubsub.schemas.get
-
Schemas auflisten:
pubsub.schemas.list
-
Schemaüberarbeitungen auflisten:
pubsub.schemas.listRevisions
-
Schema zurücksetzen:
pubsub.schemas.rollback
-
Nachricht validieren:
pubsub.schemas.validate
-
So rufen Sie die IAM-Richtlinie für ein Schema ab:
pubsub.schemas.getIamPolicy
-
Konfigurieren Sie die IAM-Richtlinie für ein Schema:
pubsub.schemas.setIamPolicy
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Sie können Hauptkonten wie Nutzern, Gruppen, Domains oder Dienstkonten Rollen und Berechtigungen zuweisen. Sie können ein Schema in einem Projekt erstellen und es an ein Thema anhängen, das sich in einem anderen Projekt befindet. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für jedes Projekt haben.
Nachricht anhand eines Schemas validieren
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Die Liste der Schemas wird angezeigt.
Klicken Sie auf die Schema-ID eines vorhandenen Schemas.
Die Seite Schemadetails für das Schema wird geöffnet.
Klicken Sie im Bereich Überarbeitungen auf die Überarbeitung, für die Sie eine Mitteilung validieren möchten.
Klicken Sie im Bereich Details auf Testnachricht.
Wählen Sie im Fenster Testnachricht einen Typ für die Nachrichtenkodierung aus.
Geben Sie im Nachrichtentext eine Testnachricht ein.
Klicken Sie auf Testen.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- Verwenden Sie den Befehl gcloud pubsub schemas validate-message, um eine Nachricht anhand eines Schemas zu validieren.
gcloud pubsub schemas validate-message --message=MESSAGE \ --message-encoding=MESSAGE_ENCODING \ (--schema-name=SCHEMA_NAME | \ --type=TYPE \ (--definition=DEFINITION | \ --definition-file=DEFINITION_FILE))
Ersetzen Sie Folgendes:
MESSAGE: Nachricht, die anhand des Schemas validiert werden soll
MESSAGE_ENCODING: Die Codierung der Nachricht. Geben Sie einen der folgenden Werte an:
binary
oderjson
.SCHEMA_NAME: Name oder vollständiger Pfad eines vorhandenen Schemas.
TYPE: Typ des Inline-Schemas. Geben Sie einen der folgenden Werte an:
avro
oderprotocol-buffer
.DEFINITION: Inline-Schemadefinition.
DEFINITION_FILE: Datei mit der Schemadefinition.