Nachricht für ein Schema validieren

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

Sie können vor oder nach dem Erstellen einer Schemaressource prüfen, ob Nachrichten einem bestimmten Schema entsprechen. Dadurch wird sichergestellt, dass die Nachrichten, die Sie über ein Thema senden möchten, das mit einem Schema verknüpft ist, auch tatsächlich übereinstimmen, bevor das Schema angewendet wird.

Hinweise

Erforderliche Rollen und Berechtigungen

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

Diese vordefinierte Rolle enthält die Berechtigungen, die erforderlich sind, um Schemanachrichten zu validieren und zu verwalten. 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
  • Commit einer Schemaversion durchführen: pubsub.schemas.commit
  • Schema oder Schemaversion löschen: pubsub.schemas.delete
  • Schema oder Schemaversionen abrufen: pubsub.schemas.get
  • Schemas auflisten: pubsub.schemas.list
  • Schemaversionen auflisten: pubsub.schemas.listRevisions
  • Rollback eines Schemas durchführen: pubsub.schemas.rollback
  • Nachricht validieren: 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

Möglicherweise können Sie diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Sie können Hauptkonten wie Nutzern, Gruppen, Domains oder Dienstkonten Rollen und Berechtigungen gewähren. Sie können ein Schema in einem Projekt erstellen und es an ein Thema in einem anderen Projekt anhängen. Prüfen Sie, ob Sie 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.

    Schemas aufrufen

    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 Abschnitt Überarbeitungen auf die Überarbeitung, für die Sie eine Meldung validieren möchten.

  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. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    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.

  2. Verwenden Sie den Befehl gcloud pubsub schemas verify-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