mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-12 19:48:26 +00:00
233 lines
8.5 KiB
Markdown
233 lines
8.5 KiB
Markdown
# Topic
|
|
|
|
## Topic
|
|
|
|
This schema defines the Topic entity. A topic is a feed into which message are published to by publishers and read from by consumers in a messaging service.
|
|
|
|
**$id:**[**https://open-metadata.org/schema/entity/data/topic.json**](https://open-metadata.org/schema/entity/data/topic.json)
|
|
|
|
Type: `object`
|
|
|
|
This schema does not accept additional properties.
|
|
|
|
### Properties
|
|
|
|
|
|
* **id** `required`
|
|
* Unique identifier that identifies this topic instance.
|
|
* $ref: [../../type/basic.json#/definitions/uuid](../types/basic.md#uuid)
|
|
* **name** `required`
|
|
* Name that identifies the topic.
|
|
* $ref: [#/definitions/topicName](topic.md#topicname)
|
|
* **fullyQualifiedName**
|
|
* Name that uniquely identifies a topic in the format 'messagingServiceName.topicName'.
|
|
* Type: `string`
|
|
* **displayName**
|
|
* Display Name that identifies this topic. It could be title or label from the source services.
|
|
* Type: `string`
|
|
* **description**
|
|
* Description of the topic instance.
|
|
* Type: `string`
|
|
* **version**
|
|
* Metadata version of the entity.
|
|
* $ref: [../../type/entityHistory.json#/definitions/entityVersion](../types/entityhistory.md#entityversion)
|
|
* **updatedAt**
|
|
* Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.
|
|
* $ref: [../../type/basic.json#/definitions/timestamp](../types/basic.md#timestamp)
|
|
* **updatedBy**
|
|
* User who made the update.
|
|
* Type: `string`
|
|
* **service** `required`
|
|
* Link to the messaging cluster/service where this topic is hosted in.
|
|
* $ref: [../../type/entityReference.json](../types/entityreference.md)
|
|
* **serviceType**
|
|
* Service type where this topic is hosted in.
|
|
* $ref: [../services/messagingService.json#/definitions/messagingServiceType](messagingservice.md#messagingservicetype)
|
|
* **schemaText**
|
|
* Schema used for message serialization. Optional as some topics may not have associated schemas.
|
|
* Type: `string`
|
|
* **schemaType**
|
|
* Schema used for message serialization.
|
|
* $ref: [#/definitions/schemaType](topic.md#schematype)
|
|
* **partitions** `required`
|
|
* Number of partitions into which the topic is divided.
|
|
* Type: `integer`
|
|
* Range: ≥ 1
|
|
* **cleanupPolicies**
|
|
* Topic clean up policies. For Kafka - `cleanup.policy` configuration.
|
|
* Type: `array`
|
|
* **Items**
|
|
* $ref: [#/definitions/cleanupPolicy](topic.md#cleanuppolicy)
|
|
* **retentionTime**
|
|
* Retention time in milliseconds. For Kafka - `retention.ms` configuration.
|
|
* Type: `integer`
|
|
* **replicationFactor**
|
|
* Replication Factor in integer (more than 1).
|
|
* Type: `integer`
|
|
* **maximumMessageSize**
|
|
* Maximum message size in bytes. For Kafka - `max.message.bytes` configuration.
|
|
* Type: `integer`
|
|
* **minimumInSyncReplicas**
|
|
* Minimum number replicas in sync to control durability. For Kafka - `min.insync.replicas` configuration.
|
|
* Type: `integer`
|
|
* **retentionSize**
|
|
* Maximum size of a partition in bytes before old data is discarded. For Kafka - `retention.bytes` configuration.
|
|
* Type: `integer`
|
|
* Default: _"-1"_
|
|
* **topicConfig**
|
|
* Contains key/value pair of topic configuration.
|
|
* $ref: [#/definitions/topicConfig](topic.md#topicconfig)
|
|
* **owner**
|
|
* Owner of this topic.
|
|
* $ref: [../../type/entityReference.json](../types/entityreference.md)
|
|
* **followers**
|
|
* Followers of this table.
|
|
* $ref: [../../type/entityReference.json#/definitions/entityReferenceList](../types/entityreference.md#entityreferencelist)
|
|
* **tags**
|
|
* Tags for this table.
|
|
* Type: `array`
|
|
* **Items**
|
|
* $ref: [../../type/tagLabel.json](../types/taglabel.md)
|
|
* **href**
|
|
* Link to the resource corresponding to this entity.
|
|
* $ref: [../../type/basic.json#/definitions/href](../types/basic.md#href)
|
|
* **changeDescription**
|
|
* Change that lead to this version of the entity.
|
|
* $ref: [../../type/entityHistory.json#/definitions/changeDescription](../types/entityhistory.md#changedescription)
|
|
* **deleted**
|
|
* When `true` indicates the entity has been soft deleted.
|
|
* Type: `boolean`
|
|
* Default: _false_
|
|
|
|
> > > > > > > a07bc411 (updated json schema and schema docs (#3219))
|
|
|
|
* **id** `required`
|
|
* Unique identifier that identifies this topic instance.
|
|
* $ref: [../../type/basic.json#/definitions/uuid](../types/basic.md#uuid)
|
|
* **name** `required`
|
|
* Name that identifies the topic.
|
|
* $ref: [#/definitions/topicName](topic.md#topicname)
|
|
* **fullyQualifiedName**
|
|
* Name that uniquely identifies a topic in the format 'messagingServiceName.topicName'.
|
|
* Type: `string`
|
|
* **displayName**
|
|
* Display Name that identifies this topic. It could be title or label from the source services.
|
|
* Type: `string`
|
|
* **description**
|
|
* Description of the topic instance.
|
|
* Type: `string`
|
|
* **version**
|
|
* Metadata version of the entity.
|
|
* $ref: [../../type/entityHistory.json#/definitions/entityVersion](../types/entityhistory.md#entityversion)
|
|
* **updatedAt**
|
|
* Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.
|
|
* $ref: [../../type/basic.json#/definitions/timestamp](../types/basic.md#timestamp)
|
|
* **updatedBy**
|
|
* User who made the update.
|
|
* Type: `string`
|
|
* **service** `required`
|
|
* Link to the messaging cluster/service where this topic is hosted in.
|
|
* $ref: [../../type/entityReference.json](../types/entityreference.md)
|
|
* **serviceType**
|
|
* Service type where this topic is hosted in.
|
|
* $ref: [../services/messagingService.json#/definitions/messagingServiceType](https://github.com/open-metadata/OpenMetadata/blob/main/docs/openmetadata-apis/schemas/services/messagingservice.md#messagingservicetype)
|
|
* **partitions** `required`
|
|
* Number of partitions into which the topic is divided.
|
|
* Type: `integer`
|
|
* Range: ≥ 1
|
|
* **schemaText**
|
|
* Schema used for message serialization. Optional as some topics may not have associated schemas.
|
|
* Type: `string`
|
|
* **schemaType**
|
|
* Schema used for message serialization.
|
|
* $ref: [#/definitions/schemaType](topic.md#schematype)
|
|
* **cleanupPolicies**
|
|
* Topic clean up policies. For Kafka - `cleanup.policy` configuration.
|
|
* Type: `array`
|
|
* **Items**
|
|
* $ref: [#/definitions/cleanupPolicy](topic.md#cleanuppolicy)
|
|
* **retentionTime**
|
|
* Retention time in milliseconds. For Kafka - `retention.ms` configuration.
|
|
* Type: `integer`
|
|
* **replicationFactor**
|
|
* Replication Factor in integer (more than 1).
|
|
* Type: `integer`
|
|
* **maximumMessageSize**
|
|
* Maximum message size in bytes. For Kafka - `max.message.bytes` configuration.
|
|
* Type: `integer`
|
|
* **minimumInSyncReplicas**
|
|
* Minimum number replicas in sync to control durability. For Kafka - `min.insync.replicas` configuration.
|
|
* Type: `integer`
|
|
* **retentionSize**
|
|
* Maximum size of a partition in bytes before old data is discarded. For Kafka - `retention.bytes` configuration.
|
|
* Type: `integer`
|
|
* Default: _"-1"_
|
|
* **owner**
|
|
* Owner of this topic.
|
|
* $ref: [../../type/entityReference.json](../types/entityreference.md)
|
|
* **followers**
|
|
* Followers of this table.
|
|
* $ref: [../../type/entityReference.json#/definitions/entityReferenceList](../types/entityreference.md#entityreferencelist)
|
|
* **tags**
|
|
* Tags for this table.
|
|
* Type: `array`
|
|
* **Items**
|
|
* $ref: [../../type/tagLabel.json](../types/taglabel.md)
|
|
* **href**
|
|
* Link to the resource corresponding to this entity.
|
|
* $ref: [../../type/basic.json#/definitions/href](../types/basic.md#href)
|
|
* **changeDescription**
|
|
* Change that lead to this version of the entity.
|
|
* $ref: [../../type/entityHistory.json#/definitions/changeDescription](../types/entityhistory.md#changedescription)
|
|
* **deleted**
|
|
* When `true` indicates the entity has been soft deleted.
|
|
* Type: `boolean`
|
|
* Default: _false_
|
|
|
|
### Type definitions in this schema
|
|
|
|
|
|
#### topicName
|
|
|
|
* Name that identifies a topic.
|
|
* Type: `string`
|
|
* Length: between 1 and 128
|
|
|
|
|
|
* Name that identifies a topic.
|
|
* Type: `string`
|
|
* The value must match this pattern: `^[^.]*$`
|
|
* Length: between 1 and 128
|
|
|
|
#### schemaType
|
|
|
|
* Schema type used for the message.
|
|
* The value is restricted to the following:
|
|
1. _"Avro"_
|
|
2. _"Protobuf"_
|
|
3. _"JSON"_
|
|
4. _"Other"_
|
|
|
|
#### cleanupPolicy
|
|
|
|
|
|
* Topic clean up policy. For Kafka - `cleanup.policy` configuration.
|
|
* The value is restricted to the following:
|
|
1. _"delete"_
|
|
2. _"compact"_
|
|
|
|
## _This document was updated on: Tuesday, January 25, 2022_
|
|
|
|
* Topic clean up policy. For Kafka - `cleanup.policy` configuration.
|
|
* The value is restricted to the following:
|
|
1. _"delete"_
|
|
2. _"compact"_
|
|
|
|
#### topicConfig
|
|
|
|
* Contains key/value pair of topic configuration.
|
|
* Type: `object`
|
|
|
|
_This document was updated on: Monday, March 7, 2022_
|
|
|
|
_This document was updated on: Wednesday, March 9, 2022_ |