Schema mit einem Thema verknüpfen

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

Hinweis

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor) für Ihr Projekt zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Zuordnen und Verwalten von Schemas 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 Verknüpfen und Verwalten von Schemas erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Schemas zu verknüpfen und zu verwalten:

  • Schema erstellen: pubsub.schemas.create
  • Schema an Thema anhängen: pubsub.schemas.attach
  • So übertragen Sie eine Schemaversion: pubsub.schemas.commit
  • Schema oder Schemaversion 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
  • 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 es an ein Thema in einem anderen Projekt anhängen. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für jedes Projekt haben.

Richtlinien zum Verknüpfen eines Schemas mit einem Thema

Sie können ein Schema mit einem Thema verknüpfen, wenn Sie ein Thema erstellen oder bearbeiten. Im Folgenden finden Sie die Richtlinien für das Verknüpfen eines Schemas mit einem Thema:

  • Sie können ein Schema einem oder mehreren Themen zuordnen.

    Nachdem ein Schema mit einem Thema verknüpft wurde, muss jede Nachricht, die das Thema von den Publishern empfängt, diesem Schema entsprechen.

  • Wenn Sie ein Schema mit einem Thema verknüpfen, müssen Sie auch die Codierung der zu veröffentlichenden Nachrichten als BINARY oder JSON angeben. Wenn Sie JSON mit einem Avro-Schema verwenden, beachten Sie die Codierungsregeln für Unions.

  • Wenn ein Schema, das einem Thema zugeordnet ist, Revisionen hat, müssen Nachrichten mit der Codierung übereinstimmen und anhand einer Revision innerhalb des verfügbaren Bereichs validiert werden. Wenn sie nicht validiert werden, kann die Nachricht nicht veröffentlicht werden.

    Die Überarbeitungen werden in umgekehrter chronologischer Reihenfolge ausprobiert, die auf der Erstellungszeit basiert. Informationen zum Erstellen einer Schemaversion finden Sie unter Schemaversion übernehmen.

Validierungslogik für ein Nachrichtenschema

Wenn Sie ein Schema mit einem Thema verknüpfen und das Schema Revisionen hat, können Sie einen Teilbereich der zu verwendenden Revisionen angeben. Wenn Sie keinen Bereich angeben, wird der gesamte Bereich für die Validierung verwendet.

Wenn Sie keine Überarbeitung als First revision allowed (Erste zulässige Überarbeitung) angeben, wird die älteste vorhandene Überarbeitung für das Schema zur Validierung verwendet. Wenn Sie keine Überarbeitung als Last revision allowed (Letzte zulässige Überarbeitung) angeben, wird die neueste vorhandene Überarbeitung für das Schema verwendet.

Nehmen wir das Beispiel von Schema S, das dem Thema T zugeordnet ist.

Das Schema S hat die Versions-IDs A,B, C und D, die in der Reihenfolge erstellt wurden, wobei A die erste oder älteste Version ist. Keines der Schemas ist identisch mit einem anderen oder ein Rollback eines vorhandenen Schemas.

  • Wenn Sie nur das Feld First revision allowed auf B festlegen, werden Nachrichten, die nur dem Schema A entsprechen, abgelehnt, während Nachrichten, die den Schemas B, C und D entsprechen, akzeptiert werden.

  • Wenn Sie nur das Feld Last revision allowed auf C festlegen, werden Nachrichten, die den Schemas A, B und C entsprechen, akzeptiert. Nachrichten, die nur dem Schema D entsprechen, werden abgelehnt.

  • Wenn Sie beide Felder First revision allowed als B und Last revision allowed als C festlegen, werden Nachrichten akzeptiert, die den Schemas B und C entsprechen.

  • Sie können auch die erste und die letzte Überarbeitung auf dieselbe Überarbeitungs-ID festlegen. In diesem Fall werden nur Nachrichten akzeptiert, die dieser Überarbeitung entsprechen.

Schema beim Erstellen eines Themas erstellen und verknüpfen

Sie können ein Thema mit einem Schema über die Google Cloud Console, die gcloud CLI, die Pub/Sub API oder die Cloud-Clientbibliotheken erstellen.

Console

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

    Themen aufrufen

  2. Klicken Sie auf Thema erstellen.

  3. Geben Sie im Feld Themen-ID eine ID für das Thema ein.

    Informationen zum Benennen eines Themas finden Sie in den Richtlinien.

  4. Klicken Sie das Kästchen für Schema verwenden an.

    Behalten Sie für die restlichen Felder die Standardeinstellungen bei.

    Sie können ein Schema erstellen oder ein vorhandenes Schema verwenden.

  5. Wenn Sie ein Schema erstellen, gehen Sie so vor: `

    1. Wählen Sie unter