Auf dieser Seite wird beschrieben, wie Sie Schemas für Pub/Sub-Themen erstellen und verwalten.
Ein Schema ist ein Format, dem das Feld data einer Pub/Sub-Nachricht folgen muss. Ein Schema erstellt einen Vertrag zwischen dem Publisher und dem Abonnenten über das Format der Nachrichten. Pub/Sub erzwingt dieses Format. Schemas vereinfachen den interteamübergreifenden Datenstream in Ihrer Organisation, da eine zentrale Behörde für Nachrichtentypen und -berechtigungen erstellt wird. Ein Pub/Sub-Nachrichtenschema definiert die Namen und Datentypen für die Felder in einer Nachricht.
Schematypen
Sie können ein Schema in Pub/Sub mit einem der folgenden Frameworks erstellen:
Das folgende Schema definiert beispielsweise das Inventar eines Warehouse, einmal im Avro-Format und dann im Protokollzwischenspeicher-Format.
Apache Avro-Format
{
"type" : "record",
"name" : "Avro",
"fields" : [
{
"name" : "ProductName",
"type" : "string",
"default": ""
},
{
"name" : "SKU",
"type" : "int",
"default": 0
},
{
"name" : "InStock",
"type" : "boolean",
"default": false
}
]
}
Protokollzwischenspeicher-Format
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Hinweis
Bevor Sie mit der Konfiguration von Schemas beginnen, prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
Ein Projekt mit aktivierter Pub/Sub API. In dieser Kurzanleitung erfahren Sie, wie Sie die Pub/Sub API aktivieren.
Ein Pub/Sub-Thema oder die erforderlichen Rollen und Berechtigungen zum Erstellen eines Themas.
Die erforderlichen Rollen und Berechtigungen zum Erstellen eines Schemas.
Erforderliche Rollen und Berechtigungen zum Verwalten von Schemas
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor) für Ihr Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Schemas benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Verwalten von Schemas erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
-
Schema erstellen:
pubsub.schemas.create
-
Schema an folgendes Thema anhängen:
pubsub.schemas.attach
-
Führen Sie einen Commit für die Schemaüberarbeitung durch:
pubsub.schemas.commit
-
Löschen Sie ein Schema oder eine Schemaüberarbeitung:
pubsub.schemas.delete
-
Schema oder Schemaüberarbeitungen:
pubsub.schemas.get
-
Schemas auflisten:
pubsub.schemas.list
-
Schemaüberarbeitungen:
pubsub.schemas.listRevisions
-
Rollback für ein Schema durchführen:
pubsub.schemas.rollback
-
Nachricht validieren:
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 Rollen und Berechtigungen zuweisen. Sie können ein Schema in einem Projekt erstellen und 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.
Schema erstellen
Sie können ein Schema mit der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder den Cloud-Clientbibliotheken erstellen. Im Folgenden finden Sie einige Richtlinien zum Erstellen eines Schemas:
Damit ein Schema mit Pub/Sub funktioniert, darf nur ein Typ der obersten Ebene definiert werden. Importanweisungen, die auf andere Typen verweisen, werden nicht unterstützt.
Sie können dasselbe Schema mehreren Themen zuweisen.
Sie können manuell testen, ob eine Nachricht anhand eines Schemas validiert wird.
Console
So erstellen Sie ein Schema:
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Klicken Sie auf Schema erstellen.
Geben Sie im Feld Schema-ID eine ID für Ihr Schema ein.
Richtlinien zum Benennen eines Schemas finden Sie unter Richtlinien für die Benennung eines Themas, Abos oder Snapshots.
Wählen Sie als Schematyp entweder Avro oder den Protokollpuffer aus.
Geben Sie im Feld Schemadefinition die Avro- oder Protokollpufferdefinition für Ihr Schema ein.
Hier sehen Sie ein Beispielschema in Avro.
{ "type": "record", "name": "Avro", "fields": [ { "name": "ProductName", "type": "string", "default": "" }, { "name": "SKU", "type": "int", "default": 0 }, { "name": "InStock", "type": "boolean", "default": false } ] }
Optional: Klicken Sie auf Definition überprüfen, um zu prüfen, ob die Schemadefinition korrekt ist.
Die Validierungsprüfung prüft nicht die Kompatibilität des Schemas mit den zu veröffentlichenden Nachrichten. Testen Sie Nachrichten im nächsten Schritt.
Optional: Sie können testen, ob Nachrichten mit dem richtigen Schema veröffentlicht werden.
Klicken Sie auf Nachricht testen.
Wählen Sie im Fenster Testnachricht einen Typ für die Nachrichtencodierung aus.
Geben Sie im Feld Nachrichtentext eine Testnachricht ein.
Klicken Sie auf Test.
Hier sehen Sie eine Beispielnachricht für das Testschema. Wählen Sie in diesem Beispiel als Nachrichtencodierung
JSON
aus.{"ProductName":"GreenOnions", "SKU":34543, "InStock":true}
Schließen Sie die Seite mit der Testnachricht.
Klicken Sie auf Erstellen, um das Schema zu speichern.
gcloud
gcloud pubsub schemas create SCHEMA_ID \ --type=SCHEMA_TYPE \ --definition=SCHEMA_DEFINITION
Wobei:
- SCHEMA_TYPE ist entweder
avro
oderprotocol-buffer
. - SCHEMA_DEFINITION ist ein
string
, der die Definition des Schemas enthält, die gemäß dem ausgewählten Schematyp formatiert ist.
Sie können die Schemadefinition auch in einer Datei angeben:
gcloud pubsub schemas create SCHEMA_ID \ --type=SCHEMA_TYPE \ --definition-file=SCHEMA_DEFINITION_FILE
Wobei:
- SCHEMA_TYPE ist entweder
avro
oderprotocol-buffer
. - SCHEMA_DEFINITION_FILE ist ein
string
, der den Pfad zur Datei mit der Definition des Schemas enthält, der gemäß dem ausgewählten Schematyp formatiert ist.
REST
Senden Sie zum Erstellen eines Schemas eine POST-Anfrage wie die diese:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Geben Sie im Anfragetext die folgenden Felder an:
{ "definition": SCHEMA_DEFINITION "type": SCHEMA_TYPE }
Wobei:
- SCHEMA_TYPE ist entweder
avro
oderprotocol-buffer
. - SCHEMA_DEFINITION ist ein String, der die Definition des Schemas enthält, formatiert gemäß dem ausgewählten Schematyp.
Der Antworttext sollte eine JSON-Darstellung einer Schemaressource enthalten. Beispiel:
{ "name": SCHEMA_NAME, "type": SCHEMA_TYPE, "definition": SCHEMA_DEFINITION "revisionId": REVISION_ID "revisionCreateTime": REVISION_CREATE_TIME }
Wobei:
- REVISION_ID ist die vom Server generierte ID für die Überarbeitung.
- REVISION_CREATE_TIME ist der Zeitstempel gemäß ISO 8601, zu dem die Überarbeitung erstellt wurde.
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
Avro
Proto
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Avro
Proto
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Avro
Proto
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Avro
Proto
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
Avro
Proto
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Avro
Proto
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Avro
Proto
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Ruby API.
Avro
Proto
Nachdem ein Schema erstellt wurde, können Sie die Details des Schemas auf der Seite Schemas sehen. Sie können jetzt das Schema mit einem Thema verknüpfen.
Schemaüberarbeitung vornehmen
Sie können ein Schema in Pub/Sub überarbeiten.
Sie können eine Schemaüberarbeitung über die Google Cloud Console, die gcloud CLI, die Pub/Sub API oder die Cloud-Clientbibliotheken durchführen.
Im Folgenden finden Sie einige Richtlinien, um ein Schema zu überarbeiten:
Sie können ein Schema innerhalb bestimmter Einschränkungen überarbeiten:
Bei Protocol Buffer-Schemas können Sie optionale Felder hinzufügen oder entfernen. Sie können keine anderen Felder hinzufügen oder löschen. Sie können auch keine vorhandenen Felder bearbeiten.
Informationen zu Avro-Schemas finden Sie in der Avro-Dokumentation.
Ein Schema kann maximal 20 Überarbeitungen gleichzeitig haben. Wenn Sie das Limit überschreiten, löschen Sie eine Schemaüberarbeitung, bevor Sie eine weitere erstellen.
Jeder Überarbeitung ist eine eindeutige Überarbeitungs-ID zugeordnet. Die Überarbeitungs-ID ist eine automatisch generierte achtstellige UUID.
Wenn Sie den Überarbeitungsbereich oder die Überarbeitung eines Schemas aktualisieren, das für die Themenvalidierung verwendet wird, kann es einige Minuten dauern, bis die Änderungen wirksam werden.
Console
So erstellen Sie eine Schemaüberarbeitung:
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Klicken Sie auf die Schema-ID eines vorhandenen Schemas.
Die Seite Schemadetails für das Schema wird geöffnet.
Klicken Sie auf Überarbeitung erstellen.
Die Seite Schemaüberarbeitung erstellen wird geöffnet.
Nehmen Sie die erforderlichen Änderungen vor.
Für das Beispielschema in Avro, das Sie unter Schema erstellen erstellt haben, können Sie beispielsweise das optionale Feld
Price
so hinzufügen:{ "type": "record", "name": "Avro", "fields": [ { "name": "ProductName", "type": "string", "default": "" }, { "name": "SKU", "type": "int", "default": 0 }, { "name": "InStock", "type": "boolean", "default": false }, { "name": "Price", "type": "double", "default": "0.0" }, ] }
Klicken Sie auf Definition überprüfen, um zu prüfen, ob die Schemadefinition korrekt ist.
Sie können die Nachrichten auch für das Schema validieren.
Klicken Sie auf Testnachricht, um eine Beispielnachricht zu testen.
Wählen Sie im Fenster Testnachricht einen Typ für die Nachrichtencodierung aus.
Geben Sie im Feld Nachrichtentext eine Testnachricht ein.
Hier sehen Sie eine Beispielnachricht für das Testschema. Wählen Sie in diesem Beispiel als Nachrichtencodierung
JSON
aus.{"ProductName":"GreenOnions", "SKU":34543, "Price":12, "InStock":true}
Klicken Sie auf Test.
Klicken Sie auf Commit durchführen, um das Schema zu speichern.
gcloud
gcloud pubsub schemas commit SCHEMA_ID \ --type=SCHEMA_TYPE \ --definition=SCHEMA_DEFINITION
Wobei:
- SCHEMA_TYPE ist entweder
avro
oderprotocol-buffer
. - SCHEMA_DEFINITION ist ein
string
, der die Definition des Schemas enthält, die gemäß dem ausgewählten Schematyp formatiert ist.
Sie können auch die Schemadefinition in der Datei angeben:
gcloud pubsub schemas commit SCHEMA_ID \ --type=SCHEMA_TYPE \ --definition-file=SCHEMA_DEFINITION_FILE
Wobei:
- SCHEMA_TYPE ist entweder
avro
oderprotocol-buffer
. - SCHEMA_DEFINITION_FILE ist ein
string
, der den Pfad zur Datei mit der Definition des Schemas enthält, der gemäß dem ausgewählten Schematyp formatiert ist.
REST
Senden Sie eine POST-Anfrage wie die folgende, um ein Schema zu aktualisieren:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:commit Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Geben Sie im Anfragetext die folgenden Felder an:
{ "definition": SCHEMA_DEFINITION "type": SCHEMA_TYPE "name": SCHEMA_NAME }
Wobei:
- SCHEMA_TYPE ist entweder
AVRO
oderPROTOCOL_BUFFER
. - SCHEMA_DEFINITION ist ein String, der die Definition des Schemas enthält, formatiert gemäß dem ausgewählten Schematyp.
- SCHEMA_NAME ist der Name eines vorhandenen Schemas.
Der Antworttext sollte eine JSON-Darstellung einer Schemaressource enthalten. Beispiel:
{ "name": SCHEMA_NAME, "type": SCHEMA_TYPE, "definition": SCHEMA_DEFINITION "revisionId": REVISION_ID "revisionCreateTime": REVISION_CREATE_TIME }
Wobei:
- REVISION_ID ist die vom Server generierte ID für die Überarbeitung.
- REVISION_CREATE_TIME ist der Zeitstempel gemäß ISO 8601, zu dem die Überarbeitung erstellt wurde.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Avro
Proto
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Avro
Proto
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Avro
Proto
Nach dem Commit einer Schemaüberarbeitung können Sie die Details der neuen Überarbeitung auf der Seite Schemas sehen.
Schema mit einem Thema verknüpfen
Sie können ein Schema mit einem Thema verknüpfen, wenn Sie ein Thema erstellen oder bearbeiten. Hier finden Sie die Richtlinien zum Verknüpfen eines Schemas mit einem Thema:
Sie können ein Schema mit einem oder mehreren Themen verknüpfen.
Nachdem ein Schema einem Thema zugeordnet wurde, muss jede Nachricht, die das Thema von den Publishern erhält, diesem Schema folgen.
Wenn Sie ein Schema mit einem Thema verknüpfen, müssen Sie auch die Codierung der zu veröffentlichenden Nachrichten als
BINARY
oderJSON
angeben.Wenn einem Schema, das mit einem Thema verknüpft ist, Überarbeitungen vorliegen, müssen die Nachrichten mit der Codierung übereinstimmen und innerhalb des verfügbaren Bereichs auf eine Überarbeitung geprüft werden. Andernfalls wird die Nachricht nicht veröffentlicht.
Überarbeitungen werden in umgekehrter chronologischer Reihenfolge ausgeführt, die auf dem Erstellungszeitpunkt basiert. Informationen zum Erstellen einer Schemaüberarbeitung finden Sie unter Schemaüberarbeitung durchführen.
Validierungslogik für ein Nachrichtenschema
Wenn Sie ein Schema mit einem Thema verknüpfen und das Schema Überarbeitungen enthält, können Sie einen Teil der zu verwendenden Überarbeitungen angeben. Wenn Sie keinen Bereich angeben, wird der gesamte Bereich für die Validierung verwendet.
Wenn Sie eine Überarbeitung nicht als Erste Überarbeitung erlaubt angeben, wird die älteste vorhandene Überarbeitung für das Schema zur Validierung verwendet. Wenn Sie eine Überarbeitung nicht als Letzte Überarbeitung erlaubt angeben, wird die neueste vorhandene Überarbeitung für das Schema verwendet.
Nehmen wir als Beispiel das Schema S
, das an das Thema T
angehängt ist.
Das Schema S
hat die Überarbeitungs-IDs A
, B
, C
und D
in der angegebenen Reihenfolge, wobei A
die erste oder älteste Überarbeitung ist. Keines der Schemas ist identisch oder es gibt ein Rollback eines vorhandenen Schemas.
Wenn Sie nur das Feld Erste Überarbeitung erlaubt als
B
festlegen, werden Nachrichten abgelehnt, die nur dem SchemaA
entsprechen, während Nachrichten, die dem SchemaB
,C
undD
entsprechen, akzeptiert werden.Wenn Sie nur das Feld Letzte Überarbeitung zulässig als
C
festlegen, werden Nachrichten akzeptiert, die den SchemasA
,B
undC
entsprechen, und Nachrichten, die nur dem SchemaD
entsprechen, werden abgelehnt.Wenn Sie für beide Felder Erste Überarbeitung erlaubt den Wert
B
und Letzte Überarbeitung zugelassen den WertC
festgelegt haben, werden Nachrichten akzeptiert, die den SchemasB
undC
entsprechen.Sie können auch für die erste und die letzte Überarbeitung 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
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Themen auf.
Klicken Sie auf Thema erstellen.
Geben Sie im Feld Themen-ID eine ID für das Thema ein.
Informationen zum Benennen eines Themas finden Sie in den Richtlinien.
Klicken Sie auf das Kästchen Schema verwenden.
Behalten Sie die Standardeinstellungen für die übrigen Felder bei.
Sie können ein Schema erstellen oder ein vorhandenes Schema verwenden.
Wenn Sie ein Schema erstellen, gehen Sie so vor: `
- Wählen Sie unter Pub/Sub-Schema auswählen die Option Neues Schema erstellen aus.
Die Seite Schema erstellen wird auf einem sekundären Tab angezeigt.
Folgen Sie der Anleitung unter Schema erstellen.
Kehren Sie zum Tab Thema erstellen zurück und klicken Sie auf Aktualisieren.
Suchen Sie im Feld Pub/Sub-Schema auswählen nach Ihrem Schema.
Wählen Sie die Nachrichtencodierung als JSON oder Binär aus.
Das soeben erstellte Schema hat eine Überarbeitungs-ID. Sie können zusätzliche Schemaüberarbeitungen erstellen, wie unter Schemaüberarbeitung Commit durchführen erläutert.
Wenn Sie ein bereits erstelltes Schema verknüpfen, gehen Sie so vor:
Wählen Sie unter Pub/Sub-Schema auswählen ein vorhandenes Schema aus.
Wählen Sie die Nachrichtencodierung als JSON oder Binär aus.
Optional: Wenn das ausgewählte Schema Überarbeitungen enthält, verwenden Sie für die Überarbeitung die Drop-down-Menüs Erste Überarbeitung erlaubt und Letzte Überarbeitung zulässig.
Sie können beide Felder angeben oder nur eines festlegen oder die Standardeinstellungen entsprechend Ihren Anforderungen beibehalten.
Behalten Sie die Standardeinstellungen für die übrigen Felder bei.
Klicken Sie auf Erstellen, um das Thema zu speichern und es dem ausgewählten Schema zuzuweisen.
gcloud
Führen Sie den Befehl gcloud pubsub topics create
aus, um ein Thema zu erstellen, das einem zuvor erstellten Schema zugewiesen ist:
gcloud pubsub topics create TOPIC_ID \ --message-encoding=ENCODING_TYPE \ --schema=SCHEMA_ID \ --first-revision-id=FIRST_REVISION_ID \ --last-revision-id=LAST_REVISION_ID \
Wobei:
- TOPIC_ID ist die ID für das von Ihnen erstellte Thema.
- ENCODING_TYPE ist die Codierung von Nachrichten, die anhand des Schemas validiert wurden. Dieser Wert muss entweder
JSON
oderBINARY
sein. - SCHEMA_ID ist die ID eines vorhandenen Schemas.
- FIRST_REVISION_ID ist die ID der ältesten Überarbeitung, die validiert werden soll.
- LAST_REVISION_ID ist die ID der neuesten Überarbeitung, die validiert werden soll.
--first-revision-id
und --last-revision-id
sind optional.
Sie können auch ein Schema aus einem anderen Google Cloud-Projekt zuweisen:
gcloud pubsub topics create TOPIC_ID \ --message-encoding=ENCODING_TYPE \ --schema=SCHEMA_ID \ --schema-project=SCHEMA_PROJECT \ --project=TOPIC_PROJECT
Wobei:
- SCHEMA_PROJECT ist die Projekt-ID des Google Cloud-Projekts für das Schema.
- TOPIC_PROJECT ist die Projekt-ID des Google Cloud-Projekts für das Thema.
REST
Verwenden Sie die Methode projects.topics.create
, um ein Thema zu erstellen:
Anfrage
Die Anfrage muss mit einem Zugriffstoken im Header Authorization
authentifiziert werden. So rufen Sie ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen ab: gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Anfragetext:
{ "schemaSettings": { "schema": "SCHEMA_NAME", "encoding": "ENCODING_TYPE" "firstRevisionId": "FIRST_REVISION_ID" "lastRevisionId": "LAST_REVISION_ID" } }
Wobei:
- PROJECT_ID ist die Projekt-ID.
- TOPIC_ID ist Ihre Themen-ID.
- SCHEMA_NAME ist der Name des Schemas, mit dem Nachrichten veröffentlicht werden sollen. Das Format ist
projects/PROJECT_ID/schemas/SCHEMA_ID
. - ENCODING_TYPE ist die Codierung von Nachrichten, die anhand des Schemas validiert wurden. Dies muss entweder
JSON
oderBINARY
sein. - FIRST_REVISION_ID ist die ID der ältesten Überarbeitung, die validiert werden soll.
- LAST_REVISION_ID ist die ID der neuesten Überarbeitung, die validiert werden soll.
firstRevisionId
und lastRevisionId
sind optional.
Lösung:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID", "schemaSettings": { "schema": "SCHEMA_NAME", "encoding": "ENCODING_TYPE" "firstRevisionId": "FIRST_REVISION_ID" "lastRevisionId": "LAST_REVISION_ID" } }
Sowohl firstRevisionId
als auch lastRevisionId
werden ausgelassen, wenn sie in der Anfrage nicht angegeben sind.
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Ruby API.
Mit einem Thema verknüpftes Schema bearbeiten
Sie können ein Thema bearbeiten, um ein Schema anzuhängen, ein Schema zu entfernen oder den Überarbeitungsbereich zu aktualisieren, der zum Validieren von Nachrichten verwendet wird. Im Allgemeinen können Sie, wenn Sie Änderungen für das verwendete Schema geplant haben, eine neue Überarbeitung übergeben und den für das Thema verwendeten Überarbeitungsbereich aktualisieren.
Sie können ein mit einem Thema verknüpftes Schema über die Google Cloud Console, die gcloud CLI, die Pub/Sub API oder die Cloud-Clientbibliotheken bearbeiten.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Themen auf.
Klicken Sie auf die Themen-ID eines Themas.
Klicken Sie auf der Seite mit den Themendetails auf Bearbeiten.
Sie können folgende Änderungen am Schema vornehmen.
Es kann einige Minuten dauern, bis die Änderungen wirksam werden.
Wenn Sie das Schema aus dem Thema entfernen möchten, entfernen Sie auf der Seite Thema bearbeiten das Häkchen aus dem Kästchen Schema verwenden.
Wenn Sie das Schema ändern möchten, wählen Sie im Abschnitt Schema den Namen eines Schemas aus.
Aktualisieren Sie die anderen Felder nach Bedarf.
- Wenn Sie den Überarbeitungsbereich aktualisieren möchten, nutzen Sie für die Überarbeitung die Drop-down-Menüs Erste Überarbeitung erlaubt und Letzte Überarbeitung zulässig.
Sie können beide Felder angeben oder nur eines festlegen oder die Standardeinstellungen entsprechend Ihren Anforderungen beibehalten.
Klicken Sie auf Aktualisieren, um die Änderungen zu speichern.
gcloud
gcloud pubsub topics update TOPIC_ID \ --message-encoding=ENCODING_TYPE \ --schema=SCHEMA_NAME \ --first-revision-id=FIRST_REVISION_ID \ --last-revision-id=LAST_REVISION_ID \
Wobei:
- TOPIC_ID ist die ID für das von Ihnen erstellte Thema.
- ENCODING_TYPE ist die Codierung von Nachrichten, die anhand des Schemas validiert wurden. Dieser Wert muss entweder
JSON
oderBINARY
sein. - SCHEMA_NAME ist der Name eines vorhandenen Schemas.
- FIRST_REVISION_ID ist die ID der ältesten Überarbeitung, die validiert werden soll.
- LAST_REVISION_ID ist die ID der neuesten Überarbeitung, die validiert werden soll.
--first-revision-id
und --last-revision-id
sind optional.
REST
Verwenden Sie die Methode projects.topics.update
, um ein Thema zu aktualisieren:
Anfrage
Die Anfrage muss mit einem Zugriffstoken im Header Authorization
authentifiziert werden. So rufen Sie ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen ab: gcloud auth application-default print-access-token
.
PATCH https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Anfragetext:
{ "schemaSettings": { "schema": "SCHEMA_NAME", "encoding": "ENCODING_TYPE" "firstRevisionId": "FIRST_REVISION_ID" "lastRevisionId": "LAST_REVISION_ID" "update_mask": } }
Wobei:
- PROJECT_ID ist die Projekt-ID.
- TOPIC_ID ist Ihre Themen-ID.
- SCHEMA_NAME ist der Name des Schemas, mit dem Nachrichten veröffentlicht werden sollen. Das Format ist
projects/PROJECT_ID/schemas/SCHEMA_ID
. - ENCODING_TYPE ist die Codierung von Nachrichten, die anhand des Schemas validiert wurden. Dies muss entweder
JSON
oderBINARY
sein. - FIRST_REVISION_ID ist die ID der ältesten Überarbeitung, die validiert werden soll.
- LAST_REVISION_ID ist die ID der neuesten Überarbeitung, die validiert werden soll.
firstRevisionId
und lastRevisionId
sind optional.
Lösung:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID", "schemaSettings": { "schema": "SCHEMA_NAME", "encoding": "ENCODING_TYPE" "firstRevisionId": "FIRST_REVISION_ID" "lastRevisionId": "LAST_REVISION_ID" } }
Sowohl firstRevisionId
als auch lastRevisionId
werden nach der Aktualisierung nicht mehr festgelegt.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Schemaüberarbeitung rückgängig machen
Sie können ein Rollback auf eine bestimmte Schemaüberarbeitung durchführen. Mit dem Rollback-Vorgang können Sie eine weitere Schemaüberarbeitung mit der exakten Schemadefinition wie in der vorherigen Überarbeitung erstellen.
Sie können ein Schema mit der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder den Cloud-Clientbibliotheken zurücksetzen. Gehen Sie so vor:
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Klicken Sie auf den Namen eines vorhandenen Schemas.
Die Seite Schemadetails für das Schema wird geöffnet.
Klicken Sie auf Rollback.
Das Dialogfeld Rollback-Schema wird geöffnet.
Wählen Sie die Überarbeitung aus, auf die das Rollback eines Schemas angewendet werden soll.
Klicken Sie auf Bestätigen, um den Rollback-Vorgang zu speichern.
Eine neue Überarbeitung wird mit dem Schema erstellt, das im Rollback-Vorgang angegeben wurde.
Wählen Sie auf der Seite Schemadetails die neueste Version des Schemas und die Version aus, die Sie als Quelle für den Rollback-Vorgang ausgewählt haben.
Klicken Sie auf Differenz ansehen.
Sie können prüfen, ob die beiden Schemas identisch sind.
Sie können die soeben erstellte Schemaüberarbeitung als letzte Überarbeitung zum Validieren eines Themas verwenden, indem Sie das Feld Letzte Überarbeitung zulässig aktualisieren.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Wobei:
- REVISION_ID ist die Überarbeitung, für die ein Rollback durchgeführt werden soll.
REST
Senden Sie eine POST-Anfrage wie die folgende, um ein Schema zurückzusetzen:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Geben Sie im Anfragetext die folgenden Felder an:
{ "revisionId": REVISION_KD }
Wobei:
- REVISION_KD ist die ID der Überarbeitung, für die ein Rollback durchgeführt werden soll.
Der Antworttext sollte eine JSON-Darstellung einer Schemaressource enthalten.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Schemaüberarbeitung löschen
Im Folgenden finden Sie einige wichtige Richtlinien zum Löschen einer Schemaüberarbeitung:
Sie können eine oder mehrere Schemaüberarbeitungen aus einem Schema löschen.
Wenn das Schema nur eine Überarbeitung hat, können Sie die Überarbeitung nicht löschen. Löschen Sie stattdessen das Schema.
Beim Löschen eines Schemas werden auch alle damit verknüpften Überarbeitungen gelöscht.
Wenn Sie ein Schema löschen, schlägt das Veröffentlichen von Nachrichten in Themen fehl, die mit diesem Schema verknüpft sind.
Wenn Sie eine Schemaüberarbeitung löschen und diese als erste Überarbeitung für ein Thema angegeben ist, wird stattdessen die nächste Überarbeitung verwendet.
Wenn die gelöschte Schemaüberarbeitung als letzte Überarbeitung für ein Thema angegeben ist, wird die vorherige Schemaüberarbeitung zur Überprüfung verwendet.
Wenn die gelöschte Schemaüberarbeitung in den angegebenen Überarbeitungsbereich für ein Thema zur Validierung fällt, wird die Überarbeitung übersprungen.
Sie können eine Schemaüberarbeitung mit der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder den Cloud-Clientbibliotheken löschen.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Klicken Sie auf den Namen eines vorhandenen Schemas.
Die Seite Schemadetails für das Schema wird geöffnet.
Wählen Sie die Überarbeitung aus, die Sie löschen möchten. Sie können auch mehrere Überarbeitungen auswählen.
Klicken Sie auf Überarbeitung löschen.
Bestätigen Sie den Löschvorgang.
gcloud
gcloud pubsub schemas delete-revision SCHEMA_NAME@REVISION_ID
Wobei:
- REVISION_ID ist die Überarbeitung, für die ein Rollback durchgeführt werden soll.
REST
Senden Sie eine DELETE-Anfrage wie die folgende, um eine Schemaüberarbeitung zu löschen:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID@REVISION_ID:deleteRevision Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Der Antworttext sollte eine JSON-Darstellung der gelöschten Schemaressource enthalten.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Schema löschen
Bevor Sie ein Schema löschen, müssen Sie seine Verknüpfung mit einem Thema entfernen.
Sie können ein Schema mit der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder den Cloud-Clientbibliotheken löschen.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Wählen Sie ein oder mehrere Schemas aus, die Sie löschen möchten.
Klicken Sie auf Löschen.
Bestätigen Sie den Löschvorgang.
gcloud
gcloud pubsub schemas delete SCHEMA_NAME
REST
Um ein Schema zu löschen, senden Sie eine DELETE-Anfrage wie diese:
DELETE https://pubsub.googleapis.com/v1/SCHEMA_NAME
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Ruby API.
Schemadetails ansehen
Sie können die Details eines Schemas über die Google Cloud Console, die gcloud CLI, die Pub/Sub API oder die Cloud-Clientbibliotheken abrufen. Die Ergebnisse geben die Details für die neueste Überarbeitungs-ID zurück.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Klicken Sie auf den Namen des Schemas, das Sie aufrufen möchten.
Die Seite Schemadetails für das Schema wird geöffnet.
gcloud
So rufen Sie die neueste Überarbeitung für ein Schema auf:
gcloud pubsub schemas describe SCHEMA_NAME
So rufen Sie eine bestimmte Überarbeitung für ein Schema auf:
gcloud pubsub schemas describe SCHEMA_ID@REVISION_ID
Wobei:
- REVISION_ID ist die Überarbeitung, für die ein Rollback durchgeführt werden soll.
REST
Senden Sie eine GET-Anfrage wie die folgende, um die Details der letzten Überarbeitung eines Schemas abzurufen:
GET https://pubsub.googleapis.com/v1/SCHEMA_NAME
Senden Sie eine GET-Anfrage wie die folgende, um die Details einer bestimmten Überarbeitung eines Schemas abzurufen:
GET https://pubsub.googleapis.com/v1/SCHEMA_NAME@REVISION_ID
Wenn der Vorgang erfolgreich ist, enthält der Antworttext eine Instanz der Schemaklasse.
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Ruby API.
Schemas auflisten
Sie können die Schemas in einem Google Cloud-Projekt mithilfe der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder der Cloud-Clientbibliotheken auflisten.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Die Liste der Schemas wird angezeigt.
gcloud
gcloud pubsub schemas list
Verwenden Sie den Befehl gcloud pubsub schemas list --view=FULL
, um die neueste Definition für jedes Schema zu sehen.
REST
Um die Schemas in einem Projekt aufzulisten, senden Sie eine GET-Anfrage wie diese:
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas
Wenn der Vorgang erfolgreich ist, enthält der Antworttext ein JSON-Objekt, das die letzte Überarbeitung für alle Schemas im Projekt enthält.
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C# API.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Node.js API.
PHP
Folgen Sie der Einrichtungsanleitung für PHP unter Schnellstart: Clientbibliotheken verwenden, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub PHP API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Ruby API.
Überarbeitungen eines Schemas auflisten
Sie können die Überarbeitungen eines Schemas in einem Google Cloud-Projekt über die Google Cloud Console, die gcloud CLI, die Pub/Sub API oder die Cloud-Clientbibliotheken auflisten.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Schemas auf.
Die Liste der Schemas wird angezeigt.
Klicken Sie auf den Namen des Schemas, das Sie aufrufen möchten.
Die Seite Schemadetails für das Schema wird geöffnet.
Im Abschnitt Überarbeitungen finden Sie die Liste der verfügbaren Überarbeitungen für das Schema.
gcloud
So rufen Sie die neueste Überarbeitung für ein Schema auf:
gcloud pubsub schemas list-revisions SCHEMA_ID
Verwenden Sie den Befehl gcloud pubsub schemas list-revisions <var>SCHEMA_ID</var> --view=FULL
, um die Definitionen für die Schemaüberarbeitungen aufzurufen.
REST
Senden Sie eine GET-Anfrage wie die folgende, um die Schemaüberarbeitungen für ein Schema aufzulisten:
GET https://pubsub.googleapis.com/v1/projects/SCHEMA_NAME:listRevisions
Wenn der Vorgang erfolgreich ist, enthält der Antworttext ein JSON-Objekt, das alle Schemaüberarbeitungen für das Schema enthält.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Go API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Java API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub Python API.
Schemadefinition validieren
Sie können ein Schema mit der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder den Cloud-Clientbibliotheken validieren.
Folgen Sie den Schritten unter Schema erstellen oder Schemaüberarbeitung vornehmen.
Die Validierungsprüfung prüft nicht die Kompatibilität der neuen Überarbeitung mit den älteren Überarbeitungen.
Nachricht für ein Schema validieren
Sie können prüfen, ob Nachrichten einem bestimmten Schema entsprechen, bevor oder nachdem Sie eine Schemaressource erstellt haben. Mit diesem Schritt wird sichergestellt, dass die Nachrichten, die Sie über ein mit einem Schema verknüpftes Thema senden möchten, mit dem Schema übereinstimmen, bevor das Schema angewendet wird.
Sie können Nachrichten anhand der Schemas in der Google Cloud Console, der gcloud CLI, der Pub/Sub API oder den Cloud-Clientbibliotheken 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 Abschnitt Überarbeitungen auf die Überarbeitung, für die Sie eine Nachricht validieren möchten.
Klicken Sie im Abschnitt Details auf Testnachricht.
Wählen Sie im Fenster Testnachricht einen Typ für die Nachrichtencodierung aus.
Geben Sie im Text von Nachricht eine Testnachricht ein.
Klicken Sie auf Test.
Kontingente und Limits für Schemas
Für Schemas gelten die folgenden Limits:
Das Feld für die Schemadefinition darf maximal 50 KB groß sein.
Ein Projekt kann maximal 10.000 Schemas enthalten.
Ein einzelnes Schema darf nicht mehr als 20 Überarbeitungen haben.
Informationen zu Schemas und Limits in Bezug auf Pub/Sub finden Sie unter Pub/Sub-Kontingente und -Limits.
Nächste Schritte
Wählen Sie den Abotyp für Ihr Thema aus oder erstellen Sie ein BigQuery-Abo, um Nachrichten direkt in BigQuery zu schreiben.
Erstellen Sie ein Abo für Ihr Thema.
Nachrichten beim Abonnieren von Themen verarbeiten, die mit einem Schema konfiguriert sind