Nachricht für ein Schema validieren

In diesem Dokument erfahren Sie, wie Sie Schemas für Pub/Sub-Themen validieren.

Sie können überprüfen, ob Nachrichten einem bestimmten Schema entsprechen, vor oder nach dem Erstellen einer Schemaressource. So 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 Schemanachrichten 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 Schemanachrichten erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Schemanachrichten zu validieren und zu verwalten:

  • Schema erstellen: pubsub.schemas.create
  • Schema an Thema anhängen: pubsub.schemas.attach
  • Schemaüberarbeitung festschreiben: pubsub.schemas.commit
  • So löschen Sie ein Schema oder eine Schemaüberarbeitung: pubsub.schemas.delete
  • So rufen Sie ein Schema oder Schemaüberarbeitungen ab: pubsub.schemas.get
  • Listenschemata: pubsub.schemas.list
  • Schemaversionen auflisten: pubsub.schemas.listRevisions
  • Rollback für ein Schema ausführen: pubsub.schemas.rollback
  • Validieren Sie eine Nachricht: pubsub.schemas.validate
  • IAM-Richtlinie für ein Schema abrufen: 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 einem Thema in einem anderen Projekt anhängen. Sie müssen die erforderlichen Berechtigungen für jedes Projekt haben.

Nachricht für ein Schema validieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.

    Zu „Schemas“

    Die Liste der Schemas wird angezeigt.

  2. Klicken Sie auf die Schema-ID eines vorhandenen Schemas.

    Die Seite Schemadetails für das Schema wird geöffnet.

  3. Klicken Sie im Bereich Überarbeitungen auf die gewünschte Überarbeitung. eine Nachricht zu validieren.

  4. Klicken Sie im Bereich Details auf Testnachricht.

  5. Wählen Sie im Fenster Nachricht testen den Typ Nachrichtencodierung aus.

  6. Geben Sie im Feld Nachricht eine Testnachricht ein.

  7. Klicken Sie auf Test.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. 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: Codierung der Nachricht. Geben Sie einen der folgenden Werte an: binary oder json.

    • SCHEMA_NAME: Name oder vollständiger Pfad eines vorhandenen Schemas.

    • TYPE: Typ des Inline-Schemas. Geben Sie einen der folgenden Werte an: avro oder protocol-buffer.

    • DEFINITION: Inline-Schemadefinition.

    • DEFINITION_FILE: Datei mit der Schemadefinition.

Nächste Schritte