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. Mit diesem Schritt wird sichergestellt, die Nachrichten, die Sie über ein Thema senden möchten, das mit einem tatsächlich übereinstimmen, bevor das Schema angewendet wird.

Hinweise

Erforderliche Rollen und Berechtigungen

Um die Berechtigungen zu erhalten, die Sie zum Validieren und Verwalten von Schemanachrichten benötigen, bitten Sie Ihren Administrator, Ihnen IAM-Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor) für Ihr Projekt Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierte Rolle enthält 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
  • Führen Sie einen Commit für eine Schemaversion durch: pubsub.schemas.commit
  • So löschen Sie ein Schema oder eine Schemaversion: pubsub.schemas.delete
  • Rufen Sie ein Schema oder eine Schemaversion ab: pubsub.schemas.get
  • Schemas auflisten: pubsub.schemas.list
  • Schemaversionen auflisten: pubsub.schemas.listRevisions
  • Rollback eines Schemas durchführen: pubsub.schemas.rollback
  • Validieren Sie eine Nachricht: pubsub.schemas.validate
  • 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. Sie können ein Schema in einem Projekt erstellen und an ein Thema in einem anderen Projekt anhängen. Achten Sie darauf, dass Sie die erforderlichen Berechtigungen für für jedes Projekt.

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 Abschnitt Details auf Nachricht testen.

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

  6. Geben Sie im Text der 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. Um eine Nachricht anhand eines Schemas zu validieren, verwenden Sie die Methode gcloud pubsub schemas verify-message .

    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. Definieren einer der folgenden Werte: binary oder json.

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

    • TYPE: Typ des Inline-Schemas. Geben Sie eine der folgende Werte: avrooder protocol-buffer.

    • DEFINITION: Inline-Schemadefinition.

    • DEFINITION_FILE: Datei mit der Schemadefinition.

Nächste Schritte