2021-08-26 13:33:44 +05:30
# Topic
2021-11-15 21:35:54 +05:30
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.
2021-08-26 13:33:44 +05:30
2021-11-15 21:35:54 +05:30
**$id:**[**https://open-metadata.org/schema/entity/data/topic.json** ](https://open-metadata.org/schema/entity/data/topic.json )
2021-08-26 13:33:44 +05:30
Type: `object`
2022-03-08 08:13:37 -08:00
This schema does not accept additional properties.
2021-12-09 18:19:32 +05:30
2021-08-26 13:33:44 +05:30
## Properties
2022-03-08 08:13:37 -08:00
< < < < < < < HEAD
=======
2022-01-25 22:19:15 +05:30
- **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 ](#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.
2022-03-08 09:23:53 +05:30
- $ref: [../services/messagingService.json#/definitions/messagingServiceType ](messagingservice.md#messagingservicetype )
2022-01-25 22:19:15 +05:30
- **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 ](#schematype )
2022-03-08 09:23:53 +05:30
- **partitions** `required`
- Number of partitions into which the topic is divided.
- Type: `integer`
- Range: ≥ 1
2022-01-25 22:19:15 +05:30
- **cleanupPolicies**
- Topic clean up policies. For Kafka - `cleanup.policy` configuration.
- Type: `array`
- **Items**
- $ref: [#/definitions/cleanupPolicy ](#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"_
2022-03-08 09:23:53 +05:30
- **topicConfig**
- Contains key/value pair of topic configuration.
- $ref: [#/definitions/topicConfig ](#topicconfig )
2022-01-25 22:19:15 +05:30
- **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_
2022-03-08 08:13:37 -08:00
>>>>>>> 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_
2021-08-26 13:33:44 +05:30
2022-01-25 22:19:15 +05:30
## Type definitions in this schema
2021-09-19 08:43:31 +05:30
2022-03-08 08:13:37 -08:00
< < < < < < < HEAD
### topicName
=======
2022-01-25 22:19:15 +05:30
- Name that identifies a topic.
- Type: `string`
- Length: between 1 and 128
2022-03-08 08:13:37 -08:00
>>>>>>> a07bc411 (updated json schema and schema docs (#3219 ))
2022-01-25 22:19:15 +05:30
2022-03-08 08:13:37 -08:00
* Name that identifies a topic.
* Type: `string`
* Length: between 1 and 128
2021-08-26 13:33:44 +05:30
### schemaType
2022-03-08 08:13:37 -08:00
* Schema type used for the message.
* The value is restricted to the following:
1. _"Avro"_
2. _"Protobuf"_
3. _"JSON"_
4. _"Other"_
2021-08-26 13:33:44 +05:30
### cleanupPolicy
2022-03-08 08:13:37 -08:00
< < < < < < < HEAD
* 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_
=======
2022-01-25 22:19:15 +05:30
- Topic clean up policy. For Kafka - `cleanup.policy` configuration.
- The value is restricted to the following:
1. _"delete"_
2. _"compact"_
2022-03-08 09:23:53 +05:30
### topicConfig
- Contains key/value pair of topic configuration.
- Type: `object`
2022-01-25 22:19:15 +05:30
2021-08-26 13:33:44 +05:30
2022-03-08 08:13:37 -08:00
_This document was updated on: Monday, March 7, 2022_>>>>>>> a07bc411 (updated json schema and schema docs (#3219 ))