Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ein Pub/Sub-Schema ist ein optionales Feature, mit dem Sie das Format des Felds data in einer Pub/Sub-Nachricht erzwingen können.
Ein Schema schafft einen Vertrag zwischen Publisher und Abonnent über das Format der Nachrichten. Pub/Sub erzwingt dieses Format.
Schemas ermöglichen die teamübergreifende Nutzung von Datenströmen in Ihrer Organisation, indem sie eine zentrale Stelle für Nachrichtentypen und -berechtigungen erstellen. Ein Pub/Sub-Nachrichtenschema definiert die Namen und Datentypen für die Felder in einer Nachricht.
Sie können ein Schema erstellen und mit einem Thema verknüpfen, um das Schema für veröffentlichte Nachrichten zu erzwingen. Wenn eine bestimmte Nachricht nicht dem Schema entspricht, wird sie nicht veröffentlicht. Sie können auch zusätzliche Versionen eines Schemas erstellen.
Arten von Schemas
Sie können ein Schema in Pub/Sub mit einem der folgenden Frameworks erstellen:
Im Folgenden finden Sie einige wichtige Informationen zum Erstellen und Verwalten von Pub/Sub-Schemas.
Damit ein Schema mit Pub/Sub funktioniert, müssen Sie nur einen Typ der obersten Ebene definieren. Importanweisungen, die auf andere Typen verweisen, werden nicht unterstützt.
Sie können dasselbe Schema mehreren Themen zuordnen.
Sie können manuell testen, ob eine Nachricht gegen ein Schema validiert wird.
Die Namen von Schemafeldern dürfen keine vertraulichen Informationen wie personenidentifizierbare Informationen oder Sicherheitsdaten enthalten.
Kontingente und Limits für Schemas
Für Schemas gelten die folgenden Einschränkungen:
Das Feld für die Schemadefinition darf eine Größe von 300 KB nicht überschreiten.
Ein Projekt kann maximal 10.000 Schemata haben.
Ein einzelnes Schema kann nicht mehr als 20 Versionen haben.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-19 (UTC)."],[],[],null,["# Schema overview\n\nA Pub/Sub schema is an optional feature that you can use to enforce\nthe format of the [data](/pubsub/docs/reference/rpc/google.pubsub.v1#google.pubsub.v1.PubsubMessage.FIELDS.bytes.google.pubsub.v1.PubsubMessage.data) field in a Pub/Sub message.\n\nA schema creates a contract between the publisher and subscriber about the\nformat of the messages. Pub/Sub enforces this format.\nSchemas facilitate inter-team consumption of data streams in your\norganization by creating a central authority for message types and\npermissions. A Pub/Sub message schema defines the names and\ndata types for the fields in a message.\n\nYou can create a schema and associate it with a topic to\nenforce the schema for published messages. If a specific message does\nnot conform to the schema, the message is not published. You can also create\nadditional revisions for a schema.\n\nTypes of schemas\n----------------\n\nYou can create a schema in Pub/Sub by using one of the\nfollowing frameworks:\n\n- [Apache Avro](https://avro.apache.org/docs/++version++/specification/#schema-declaration)\n- [Protocol Buffer](https://protobuf.dev/)\n\nFor example, the following schema defines the inventory of a warehouse,\nfirst in the Avro format and then in the Protocol Buffer format.\n| **Note:** Avro version 1.11 is supported. For Protocol Buffers, proto2 and proto3 are supported.\n\n### Apache Avro format\n\n {\n \"type\" : \"record\",\n \"name\" : \"Avro\",\n \"fields\" : [\n {\n \"name\" : \"ProductName\",\n \"type\" : \"string\",\n \"default\": \"\"\n },\n {\n \"name\" : \"SKU\",\n \"type\" : \"int\",\n \"default\": 0\n },\n {\n \"name\" : \"InStock\",\n \"type\" : \"boolean\",\n \"default\": false\n }\n ]\n }\n\n| **Note:** Pub/Sub does not validate the default value of each field, follow the [Apache Avro specification](https://avro.apache.org/docs/1.11.1/specification/) for default value rules.\n\n### Protocol Buffer format\n\n syntax = \"proto3\";\n message ProtocolBuffer {\n string product_name = 1;\n int32 SKU = 2;\n bool in_stock = 3;\n }\n\nImportant information about schemas\n-----------------------------------\n\nThe following is some important information regarding creating and\nmanaging Pub/Sub schemas.\n\n- For a schema to work with Pub/Sub, you must define only\n one top-level [type](/pubsub/docs/schemas#types-schema). Import statements that reference other types\n are not supported.\n\n- You can associate the same schema to multiple topics.\n\n- You can manually test whether a message validates against a schema.\n\n- Don't include sensitive information such as personally identifiable\n information (PII) or security data in your schema field names.\n\nQuotas and limits for schemas\n-----------------------------\n\nSchemas have the following limits:\n\n- The schema definition field cannot exceed 300 KB in size.\n\n- A project can have a maximum of 10,000 schemas.\n\n- A single schema cannot have more than 20 revisions.\n\n For information about schemas and limits related to Pub/Sub,\n see [Pub/Sub quotas and limits](/pubsub/quotas).\n\nWhat's next\n-----------\n\n- [Create a schema](/pubsub/docs/create-schemas)\n\n- [Associate a schema with a topic](/pubsub/docs/associate-schema-topic)\n\n- [Commit a schema revision](/pubsub/docs/commit-schema-revision)\n\n- [Publish messages to a topic with a schema](/pubsub/docs/publish-topics-schema)"]]