mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-10-31 18:48:35 +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_ | 
