Skip to main content

Get

Returns the specified Kafka topic.

To get the list of available Kafka topics, make a List request.

import { cloudApi, serviceClients, Session } from "@yandex-cloud/nodejs-sdk";

const GetTopicRequest = cloudApi.mdb.kafka_topic_service.GetTopicRequest;

(async () => {
const authToken = process.env["YC_OAUTH_TOKEN"];
const session = new Session({ oauthToken: authToken });
const client = session.client(serviceClients.TopicServiceClient);

const result = await client.get(
GetTopicRequest.fromPartial({
clusterId: "clusterId",
topicName: "topicName",
})
);
console.log(result);
})();

GetTopicRequest

clusterId : string

ID of the Apache Kafka® cluster that the topic belongs to.

To get the cluster ID, make a ClusterService.List request.

topicName : string

Name of the Kafka topic resource to return.

To get the name of the topic, make a TopicService.List request.

Topic

An Kafka topic. For more information, see the Concepts - Topics and partitions section of the documentation.

name : string

Name of the topic.

clusterId : string

ID of an Apache Kafka® cluster that the topic belongs to.

To get the Apache Kafka® cluster ID, make a ClusterService.List request.

partitions : google.protobuf.Int64Value

The number of the topic's partitions.

replicationFactor : google.protobuf.Int64Value

Amount of data copies (replicas) for the topic in the cluster.

One of topicConfig

User-defined settings for the topic.

  • topicConfig_2_8 : TopicConfig2_8
  • topicConfig_3 : TopicConfig3

TopicConfig2_8

A topic settings for 2.8

CleanupPolicy
  • CLEANUP_POLICY_UNSPECIFIED

  • CLEANUP_POLICY_DELETE

    This policy discards log segments when either their retention time or log size limit is reached. See also: [KafkaConfig2_8.log_retention_ms][5] and other similar parameters.

  • CLEANUP_POLICY_COMPACT

    This policy compacts messages in log.

  • CLEANUP_POLICY_COMPACT_AND_DELETE

    This policy use both compaction and deletion for messages and log segments.

cleanupPolicy : CleanupPolicy

Retention policy to use on old log messages.

compressionType : CompressionType

The compression type for a given topic.

deleteRetentionMs : google.protobuf.Int64Value

The amount of time in milliseconds to retain delete tombstone markers for log compacted topics.

fileDeleteDelayMs : google.protobuf.Int64Value

The time to wait before deleting a file from the filesystem.

flushMessages : google.protobuf.Int64Value

The number of messages accumulated on a log partition before messages are flushed to disk.

This setting overrides the cluster-level KafkaConfig2_8.log_flush_interval_messages setting on the topic level.

flushMs : google.protobuf.Int64Value

The maximum time in milliseconds that a message in the topic is kept in memory before flushed to disk.

This setting overrides the cluster-level KafkaConfig2_8.log_flush_interval_ms setting on the topic level.

minCompactionLagMs : google.protobuf.Int64Value

The minimum time in milliseconds a message will remain uncompacted in the log.

retentionBytes : google.protobuf.Int64Value

The maximum size a partition can grow to before Kafka will discard old log segments to free up space if the delete cleanup_policy is in effect. It is helpful if you need to control the size of log due to limited disk space.

This setting overrides the cluster-level KafkaConfig2_8.log_retention_bytes setting on the topic level.

retentionMs : google.protobuf.Int64Value

The number of milliseconds to keep a log segment's file before deleting it.

This setting overrides the cluster-level KafkaConfig2_8.log_retention_ms setting on the topic level.

maxMessageBytes : google.protobuf.Int64Value

The largest record batch size allowed in topic.

minInsyncReplicas : google.protobuf.Int64Value

This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write to be considered successful (when a producer sets acks to "all").

segmentBytes : google.protobuf.Int64Value

This configuration controls the segment file size for the log. Retention and cleaning is always done a file at a time so a larger segment size means fewer files but less granular control over retention.

This setting overrides the cluster-level KafkaConfig2_8.log_segment_bytes setting on the topic level.

preallocate : google.protobuf.BoolValue

True if we should preallocate the file on disk when creating a new log segment.

This setting overrides the cluster-level KafkaConfig2_8.log_preallocate setting on the topic level.

TopicConfig3

A topic settings for 3.x

CleanupPolicy
  • CLEANUP_POLICY_UNSPECIFIED

  • CLEANUP_POLICY_DELETE

    This policy discards log segments when either their retention time or log size limit is reached. See also: [KafkaConfig3.log_retention_ms][13] and other similar parameters.

  • CLEANUP_POLICY_COMPACT

    This policy compacts messages in log.

  • CLEANUP_POLICY_COMPACT_AND_DELETE

    This policy use both compaction and deletion for messages and log segments.

cleanupPolicy : CleanupPolicy

Retention policy to use on old log messages.

compressionType : CompressionType

The compression type for a given topic.

deleteRetentionMs : google.protobuf.Int64Value

The amount of time in milliseconds to retain delete tombstone markers for log compacted topics.

fileDeleteDelayMs : google.protobuf.Int64Value

The time to wait before deleting a file from the filesystem.

flushMessages : google.protobuf.Int64Value

The number of messages accumulated on a log partition before messages are flushed to disk.

This setting overrides the cluster-level KafkaConfig3.log_flush_interval_messages setting on the topic level.

flushMs : google.protobuf.Int64Value

The maximum time in milliseconds that a message in the topic is kept in memory before flushed to disk.

This setting overrides the cluster-level KafkaConfig3.log_flush_interval_ms setting on the topic level.

minCompactionLagMs : google.protobuf.Int64Value

The minimum time in milliseconds a message will remain uncompacted in the log.

retentionBytes : google.protobuf.Int64Value

The maximum size a partition can grow to before Kafka will discard old log segments to free up space if the delete cleanup_policy is in effect. It is helpful if you need to control the size of log due to limited disk space.

This setting overrides the cluster-level KafkaConfig3.log_retention_bytes setting on the topic level.

retentionMs : google.protobuf.Int64Value

The number of milliseconds to keep a log segment's file before deleting it.

This setting overrides the cluster-level KafkaConfig3.log_retention_ms setting on the topic level.

maxMessageBytes : google.protobuf.Int64Value

The largest record batch size allowed in topic.

minInsyncReplicas : google.protobuf.Int64Value

This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write to be considered successful (when a producer sets acks to "all").

segmentBytes : google.protobuf.Int64Value

This configuration controls the segment file size for the log. Retention and cleaning is always done a file at a time so a larger segment size means fewer files but less granular control over retention.

This setting overrides the cluster-level KafkaConfig3.log_segment_bytes setting on the topic level.

preallocate : google.protobuf.BoolValue

True if we should preallocate the file on disk when creating a new log segment.

This setting overrides the cluster-level KafkaConfig3.log_preallocate setting on the topic level.