Pub/Sub schema
Avro or Protocol Buffer contract enforced on messages published to a topic.
- Provider
- gcp
- Kind
- Schema registry
- Category
- Data
- Official docs
- https://docs.cloud.google.com/pubsub/docs/schemas
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| compatibility | enum | none | backward | forward | full | no | backward | inherited |
| enforced | boolean | — | no | false | ▸ true |
| managed | boolean | — | no | false | ▸ true |
| maxDefinitionSizeKb | integer | — | no | 300 | inherited |
| maxRevisions | integer | — | no | 20 | inherited |
| maxSchemasPerProject | integer | — | no | 10000 | inherited |
| schemaType | enum | avro | protocol-buffer | no | — | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
No rule reads this kind yet. That is a gap, not a guarantee.
nodes:
- { id: "pubsub-schema", component: "google-pubsub-schema" }# yaml-language-server: $schema=../../schema/component.schema.json # Pub/Sub schema: Avro or Protocol Buffer contract attached to a topic. "Schema overview": when a # schema is associated with a topic a message that does not conform is not published; a schema keeps # at most 20 revisions, a definition is at most 300 KB, and a project holds at most 10,000 schemas. schemaVersion: "1" type: "component" id: "google-pubsub-schema" kind: "schema-registry" provider: "gcp" docs: "https://docs.cloud.google.com/pubsub/docs/schemas" defaults: managed: true enforced: true properties: schemaType: type: "enum" values: ["avro", "protocol-buffer"] maxRevisions: type: "integer" default: 20 maxDefinitionSizeKb: type: "integer" default: 300 maxSchemasPerProject: type: "integer" default: 10000