Get desktop application:
View/edit binary Protocol Buffers messages
SchemaRegistry is a service that allows users to manage schemas for their Kafka clusters. It provides APIs to register, list, and delete schemas, as well as to get the schema for a given schema id or a given version id under a subject, to update the global or subject-specific compatibility mode, and to check the compatibility of a schema against a subject or a version. The main resource hierarchy is as follows: * SchemaRegistry * SchemaRegistry/Context * SchemaRegistry/Context/Schema * SchemaRegistry/Context/Subject * SchemaRegistry/Context/Subject/Version * SchemaRegistry/Config * SchemaRegistry/Mode **SchemaRegistry** is the root resource to represent a schema registry instance. A customer can have multiple schema registry instances in a project. **Context** is a context resource that represents a group of schemas, subjects and versions. A schema registry instance can have multiple contexts and always has a 'default' context. Contexts are independent of each other. Context is optional and if not specified, it falls back to the 'default' context. **Schema** is a schema resource that represents a unique schema in a context of a schema registry instance. Each schema has a unique schema id, and can be referenced by a version of a subject. **Subject** refers to the name under which the schema is registered. A typical subject is the Kafka topic name. A schema registry instance can have multiple subjects. **Version** represents a version of a subject. A subject can have multiple versions. Creation of new version of a subject is guarded by the compatibility mode configured globally or for the subject specifically. **Config** represents a config at global level cross all registry instances or at subject level. Currently, only compatibility is supported in config. **Mode** represents the mode of a schema registry or a specific subject. Three modes are supported: * READONLY: The schema registry is in read-only mode, no write operations allowed.. * READWRITE: The schema registry is in read-write mode, which allows limited write operations on the schema. * IMPORT: The schema registry is in import mode, which allows more editing operations on the schema for data importing purposes.
Check compatibility of a schema with all versions or a specific version of a subject.
Request for CheckCompatibility.
Required. The name of the resource to check compatibility for. The format is either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/compatibility/subjects/*/versions: Check compatibility with one or more versions of the specified subject. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/compatibility/subjects/{subject}/versions/{version}: Check compatibility with a specific version of the subject.
Optional. The schema type of the schema.
Required. The schema payload
Optional. The schema references used by the schema.
Optional. If true, the response will contain the compatibility check result with reasons for failed checks. The default is false.
Response for CheckCompatibility.
The compatibility check result. If true, the schema is compatible with the resource.
Failure reasons if verbose = true.
Create a schema registry instance.
Request to create a schema registry instance.
Required. The parent whose schema registry instance is to be created. Structured like: `projects/{project}/locations/{location}`
Required. The schema registry instance ID to use for this schema registry. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores (-). The maximum length is 63 characters. The ID must not start with a number.
Required. The schema registry instance to create. The name field is ignored.
Register a new version under a given subject with the given schema.
Request for CreateVersion.
Required. The subject to create the version for. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`
Optional. The version to create. It is optional. If not specified, the version will be created with the max version ID of the subject increased by 1. If the version ID is specified, it will be used as the new version ID and must not be used by an existing version of the subject.
Optional. The schema ID of the schema. If not specified, the schema ID will be generated by the server. If the schema ID is specified, it must not be used by an existing schema that is different from the schema to be created.
Optional. The type of the schema. It is optional. If not specified, the schema type will be AVRO.
Required. The schema payload
Optional. The schema references used by the schema.
Optional. If true, the schema will be normalized before being stored. The default is false.
Response for CreateVersion.
The unique identifier of the schema created.
Delete schema config for a subject.
Request for deleting schema config.
Required. The resource name of subject to delete the config for. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}
Delete schema mode for a subject.
Request for deleting schema mode.
Required. The resource name of subject to delete the mode for. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject} * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}
Delete a schema registry instance.
Request for DeleteSchemaRegistry.
Required. The name of the schema registry instance to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`
Delete a subject. The response will be an array of versions of the deleted subject.
Request for DeleteSubject.
Required. The name of the subject to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`
Optional. If true, the subject and all associated metadata including the schema ID will be deleted permanently. Otherwise, only the subject is soft-deleted. The default is false. Soft-deleted subjects can still be searched in ListSubjects API call with deleted=true query parameter. A soft-delete of a subject must be performed before a hard-delete.
Delete a version of a subject. The response will be the deleted version id.
Request for DeleteVersion.
Required. The name of the subject version to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`
Optional. If true, both the version and the referenced schema ID will be permanently deleted. The default is false. If false, the version will be deleted but the schema ID will be retained. Soft-deleted versions can still be searched in ListVersions API call with deleted=true query parameter. A soft-delete of a version must be performed before a hard-delete.
Get the context.
Request for GetContext
Required. The name of the context to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}`
Context represents an independent schema grouping in a schema registry instance.
Identifier. The name of the context. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}` The context name {context} can contain the following: * Up to 255 characters. * Allowed characters: letters (uppercase or lowercase), numbers, and the following special characters: `.`, `-`, `_`, `+`, `%`, and `~`.
Optional. The subjects of the context.
Get the schema string for the given schema id. The response will be the schema string.
Get the schema string only for a version of a subject. The response will be the schema string.
Get the schema for the given schema id.
Schema for a Kafka message.
Optional. The schema type of the schema.
The schema payload.
Optional. The schema references used by the schema.
Get schema config at global level or for a subject.
Request for getting config.
Required. The resource name to get the config for. It can be either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config: Get config at global level. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}: Get config for a specific subject.
Optional. If true, the config will fall back to the config at the global level if no subject level config is found.
Get mode at global level or for a subject.
Request for getting schema registry or subject mode.
Required. The resource name of the mode. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject}: mode for a schema registry, or * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}: mode for a specific subject in a specific context
Get the schema registry instance.
Request for GetSchemaRegistry.
Required. The name of the schema registry instance to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`
Get a versioned schema (schema with subject/version) of a subject.
List contexts for a schema registry.
Request for ListContexts.
Required. The parent of the contexts. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`
Get a list of IDs of schemas that reference the schema with the given subject and version.
Request for ListReferencedSchemas.
Required. The version to list referenced by. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`
List schema registries.
Request for ListSchemaRegistries.
Required. The parent whose schema registry instances are to be listed. Structured like: `projects/{project}/locations/{location}`
Request for ListSchemaRegistries.
The schema registry instances.
List the supported schema types. The response will be an array of schema types.
Request for ListSchemaTypes.
Required. The parent schema registry whose schema types are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`
List the schema versions for the given schema id. The response will be an array of subject-version pairs as: [{"subject":"subject1", "version":1}, {"subject":"subject2", "version":2}].
Request for ListSchemaVersions.
Required. The schema whose schema versions are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/schemas/ids/{schema}`
Optional. The subject to filter the subjects by.
Optional. If true, the response will include soft-deleted versions of the schema, even if the subject is soft-deleted. The default is false.
List subjects in the schema registry. The response will be an array of subject names.
Request for listing subjects.
Required. The parent schema registry/context whose subjects are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}`
Optional. The context to filter the subjects by, in the format of `:.{context}:`. If unset, all subjects in the registry are returned. Set to empty string or add as '?subjectPrefix=' at the end of this request to list subjects in the default context.
Optional. If true, the response will include soft-deleted subjects. The default is false.
List subjects which reference a particular schema id. The response will be an array of subject names.
Request for listing subjects.
Required. The schema resource whose associated subjects are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/schemas/ids/{schema}`
Optional. The subject to filter the subjects by.
Optional. If true, the response will include soft-deleted subjects. The default is false.
Get all versions of a subject. The response will be an array of versions of the subject.
Request for GetVersions.
Required. The subject whose versions are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`
Optional. If true, the response will include soft-deleted versions of an active or soft-deleted subject. The default is false.
Lookup a schema under the specified subject.
Request for LookupVersion.
Required. The subject to lookup the schema in. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`
Optional. The schema type of the schema.
Required. The schema payload
Optional. The schema references used by the schema.
Optional. If true, the schema will be normalized before being looked up. The default is false.
Optional. If true, soft-deleted versions will be included in lookup, no matter if the subject is active or soft-deleted. If false, soft-deleted versions will be excluded. The default is false.
Update config at global level or for a subject. Creates a SchemaSubject-level SchemaConfig if it does not exist.
Request for updating schema config. On a SchemaSubject-level SchemaConfig, an unset field will be removed from the SchemaConfig.
Required. The resource name to update the config for. It can be either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config: Update config at global level. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}: Update config for a specific subject.
Required. The compatibility type of the schemas. Cannot be unset for a SchemaRegistry-level SchemaConfig. If unset on a SchemaSubject-level SchemaConfig, removes the compatibility field for the SchemaConfig.
Optional. If true, the schema will be normalized before being stored or looked up. The default is false. Cannot be unset for a SchemaRegistry-level SchemaConfig. If unset on a SchemaSubject-level SchemaConfig, removes the normalize field for the SchemaConfig.
Update mode at global level or for a subject.
Request for updating schema registry or subject mode.
Required. The resource name of the mode. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject}: mode for a schema registry, or * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}: mode for a specific subject in a specific context
Required. The mode type.
Request for GetSchema.
Used as request type in: ManagedSchemaRegistry.GetRawSchema, ManagedSchemaRegistry.GetSchema
Required. The name of the schema to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}`
Optional. Used to limit the search for the schema ID to a specific subject, otherwise the schema ID will be searched for in all subjects in the given specified context.
Request for GetVersion.
Used as request type in: ManagedSchemaRegistry.GetRawSchemaVersion, ManagedSchemaRegistry.GetVersion
Required. The name of the subject to return versions. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`
Optional. If true, no matter if the subject/version is soft-deleted or not, it returns the version details. If false, it returns NOT_FOUND error if the subject/version is soft-deleted. The default is false.
SchemaReference is a reference to a schema.
Used in: , , , ,
Required. The name of the reference.
Required. The subject of the reference.
Required. The version of the reference.
Schema types.
Used in: , , , ,
No schema type. The default will be AVRO.
Avro schema type.
JSON schema type.
Protobuf schema type.
SchemaConfig represents configuration for a schema registry or a specific subject.
Used as response type in: ManagedSchemaRegistry.DeleteSchemaConfig, ManagedSchemaRegistry.GetSchemaConfig, ManagedSchemaRegistry.UpdateSchemaConfig
Required. The compatibility type of the schema. The default value is BACKWARD. If unset in a SchemaSubject-level SchemaConfig, defaults to the global value. If unset in a SchemaRegistry-level SchemaConfig, reverts to the default value.
Optional. If true, the schema will be normalized before being stored or looked up. The default is false. If unset in a SchemaSubject-level SchemaConfig, the global value will be used. If unset in a SchemaRegistry-level SchemaConfig, reverts to the default value.
Optional. The subject to which this subject is an alias of. Only applicable for subject config.
Compatibility type of the schemas.
Used in: ,
No compatibility check.
Backwards compatible with the most recent version.
Backwards compatible with all previous versions.
Forwards compatible with the most recent version.
Forwards compatible with all previous versions.
Backwards and forwards compatible with the most recent version.
Backwards and forwards compatible with all previous versions.
SchemaMode represents the mode of a schema registry or a specific subject. Four modes are supported: * NONE: deprecated. This was the default mode for a subject, but now the default is unset (which means use the global schema registry setting) * READONLY: The schema registry is in read-only mode. * READWRITE: The schema registry is in read-write mode, which allows limited write operations on the schema. * IMPORT: The schema registry is in import mode, which allows more editing operations on the schema for data importing purposes.
Used as response type in: ManagedSchemaRegistry.DeleteSchemaMode, ManagedSchemaRegistry.GetSchemaMode, ManagedSchemaRegistry.UpdateSchemaMode
Required. The mode type of a schema registry (READWRITE by default) or of a subject (unset by default, which means use the global schema registry setting).
Mode type of the schemas or subjects.
Used in: ,
The default / unset value. The subject mode is NONE/unset by default, which means use the global schema registry mode. This should not be used for setting the mode.
READONLY mode.
READWRITE mode.
IMPORT mode.
SchemaRegistry is a schema registry instance.
Used as response type in: ManagedSchemaRegistry.CreateSchemaRegistry, ManagedSchemaRegistry.GetSchemaRegistry
Used as field type in: ,
Identifier. The name of the schema registry instance. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}` The instance name {schema_registry} can contain the following: * Up to 255 characters. * Letters (uppercase or lowercase), numbers, and underscores.
Output only. The contexts of the schema registry instance.
Subject defines the evolution scope of schemas as a holder of schema versions.
The name of the subject. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}` Subject name {subject} can contain the following: * Up to 255 UTF-8 bytes. * Allowed characters: letters (uppercase or lowercase), numbers, and the following special characters: `.`, `-`, `_`, `+`, `%`, and `~`.
The versions of the subject.
Version of a schema.
Used as response type in: ManagedSchemaRegistry.GetVersion, ManagedSchemaRegistry.LookupVersion
Required. The subject of the version.
Required. The version ID
Required. The schema ID.
Optional. The schema type of the schema.
Required. The schema payload.
Optional. The schema references used by the schema.