Managed Service for Apache Kafka® API, gRPC: TopicService.Create
Creates a new Kafka topic in the specified cluster.
gRPC request
rpc Create (CreateTopicRequest) returns (operation.Operation)
CreateTopicRequest
{
"clusterId": "string",
"topicSpec": {
"name": "string",
"partitions": "google.protobuf.Int64Value",
"replicationFactor": "google.protobuf.Int64Value",
// Includes only one of the fields `topicConfig_2_8`, `topicConfig_3`
"topicConfig_2_8": {
"cleanupPolicy": "CleanupPolicy",
"compressionType": "CompressionType",
"deleteRetentionMs": "google.protobuf.Int64Value",
"fileDeleteDelayMs": "google.protobuf.Int64Value",
"flushMessages": "google.protobuf.Int64Value",
"flushMs": "google.protobuf.Int64Value",
"minCompactionLagMs": "google.protobuf.Int64Value",
"retentionBytes": "google.protobuf.Int64Value",
"retentionMs": "google.protobuf.Int64Value",
"maxMessageBytes": "google.protobuf.Int64Value",
"minInsyncReplicas": "google.protobuf.Int64Value",
"segmentBytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
},
"topicConfig_3": {
"cleanupPolicy": "CleanupPolicy",
"compressionType": "CompressionType",
"deleteRetentionMs": "google.protobuf.Int64Value",
"fileDeleteDelayMs": "google.protobuf.Int64Value",
"flushMessages": "google.protobuf.Int64Value",
"flushMs": "google.protobuf.Int64Value",
"minCompactionLagMs": "google.protobuf.Int64Value",
"retentionBytes": "google.protobuf.Int64Value",
"retentionMs": "google.protobuf.Int64Value",
"maxMessageBytes": "google.protobuf.Int64Value",
"minInsyncReplicas": "google.protobuf.Int64Value",
"segmentBytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
}
// end of the list of possible fields
}
}
Field |
Description |
clusterId |
string Required field. ID of the Apache Kafka® cluster to create a topic in. To get the cluster ID, make a ClusterService.List request. |
topicSpec |
Required field. Configuration of the topic to create. |
TopicSpec
Field |
Description |
name |
string Name of the topic. |
partitions |
The number of the topic's partitions. |
replicationFactor |
Amount of copies of a topic data kept in the cluster. |
topicConfig_2_8 |
Includes only one of the fields User-defined settings for the topic. |
topicConfig_3 |
Includes only one of the fields User-defined settings for the topic. |
TopicConfig2_8
A topic settings for 2.8
Field |
Description |
cleanupPolicy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compressionType |
enum CompressionType The compression type for a given topic.
|
deleteRetentionMs |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
fileDeleteDelayMs |
The time to wait before deleting a file from the filesystem. |
flushMessages |
The number of messages accumulated on a log partition before messages are flushed to disk. This setting overrides the cluster-level KafkaConfig2_8.logFlushIntervalMessages setting on the topic level. |
flushMs |
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.logFlushIntervalMs setting on the topic level. |
minCompactionLagMs |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retentionBytes |
The maximum size a partition can grow to before Kafka will discard old log segments to free up space if the This setting overrides the cluster-level KafkaConfig2_8.logRetentionBytes setting on the topic level. |
retentionMs |
The number of milliseconds to keep a log segment's file before deleting it. This setting overrides the cluster-level KafkaConfig2_8.logRetentionMs setting on the topic level. |
maxMessageBytes |
The largest record batch size allowed in topic. |
minInsyncReplicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segmentBytes |
This configuration controls the segment file size for the log. Retention and cleaning is always done a file This setting overrides the cluster-level KafkaConfig2_8.logSegmentBytes setting on the topic level. |
preallocate |
True if we should preallocate the file on disk when creating a new log segment. This setting overrides the cluster-level KafkaConfig2_8.logPreallocate setting on the topic level. |
TopicConfig3
A topic settings for 3.x
Field |
Description |
cleanupPolicy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compressionType |
enum CompressionType The compression type for a given topic.
|
deleteRetentionMs |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
fileDeleteDelayMs |
The time to wait before deleting a file from the filesystem. |
flushMessages |
The number of messages accumulated on a log partition before messages are flushed to disk. This setting overrides the cluster-level KafkaConfig3.logFlushIntervalMessages setting on the topic level. |
flushMs |
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.logFlushIntervalMs setting on the topic level. |
minCompactionLagMs |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retentionBytes |
The maximum size a partition can grow to before Kafka will discard old log segments to free up space if the This setting overrides the cluster-level KafkaConfig3.logRetentionBytes setting on the topic level. |
retentionMs |
The number of milliseconds to keep a log segment's file before deleting it. This setting overrides the cluster-level KafkaConfig3.logRetentionMs setting on the topic level. |
maxMessageBytes |
The largest record batch size allowed in topic. |
minInsyncReplicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segmentBytes |
This configuration controls the segment file size for the log. Retention and cleaning is always done a file This setting overrides the cluster-level KafkaConfig3.logSegmentBytes setting on the topic level. |
preallocate |
True if we should preallocate the file on disk when creating a new log segment. This setting overrides the cluster-level KafkaConfig3.logPreallocate setting on the topic level. |
operation.Operation
{
"id": "string",
"description": "string",
"createdAt": "google.protobuf.Timestamp",
"createdBy": "string",
"modifiedAt": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"clusterId": "string",
"topicName": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"name": "string",
"clusterId": "string",
"partitions": "google.protobuf.Int64Value",
"replicationFactor": "google.protobuf.Int64Value",
// Includes only one of the fields `topicConfig_2_8`, `topicConfig_3`
"topicConfig_2_8": {
"cleanupPolicy": "CleanupPolicy",
"compressionType": "CompressionType",
"deleteRetentionMs": "google.protobuf.Int64Value",
"fileDeleteDelayMs": "google.protobuf.Int64Value",
"flushMessages": "google.protobuf.Int64Value",
"flushMs": "google.protobuf.Int64Value",
"minCompactionLagMs": "google.protobuf.Int64Value",
"retentionBytes": "google.protobuf.Int64Value",
"retentionMs": "google.protobuf.Int64Value",
"maxMessageBytes": "google.protobuf.Int64Value",
"minInsyncReplicas": "google.protobuf.Int64Value",
"segmentBytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
},
"topicConfig_3": {
"cleanupPolicy": "CleanupPolicy",
"compressionType": "CompressionType",
"deleteRetentionMs": "google.protobuf.Int64Value",
"fileDeleteDelayMs": "google.protobuf.Int64Value",
"flushMessages": "google.protobuf.Int64Value",
"flushMs": "google.protobuf.Int64Value",
"minCompactionLagMs": "google.protobuf.Int64Value",
"retentionBytes": "google.protobuf.Int64Value",
"retentionMs": "google.protobuf.Int64Value",
"maxMessageBytes": "google.protobuf.Int64Value",
"minInsyncReplicas": "google.protobuf.Int64Value",
"segmentBytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
}
// end of the list of possible fields
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
createdAt |
Creation timestamp. |
createdBy |
string ID of the user or service account who initiated the operation. |
modifiedAt |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateTopicMetadata
Field |
Description |
clusterId |
string ID of the Apache Kafka® cluster where a topic is being created. |
topicName |
string Required field. Name of the Kafka topic that is being created. |
Topic
An Kafka topic.
For more information, see the Concepts -> Topics and partitions section of the documentation.
Field |
Description |
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 |
The number of the topic's partitions. |
replicationFactor |
Amount of data copies (replicas) for the topic in the cluster. |
topicConfig_2_8 |
Includes only one of the fields User-defined settings for the topic. |
topicConfig_3 |
Includes only one of the fields User-defined settings for the topic. |
TopicConfig2_8
A topic settings for 2.8
Field |
Description |
cleanupPolicy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compressionType |
enum CompressionType The compression type for a given topic.
|
deleteRetentionMs |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
fileDeleteDelayMs |
The time to wait before deleting a file from the filesystem. |
flushMessages |
The number of messages accumulated on a log partition before messages are flushed to disk. This setting overrides the cluster-level KafkaConfig2_8.logFlushIntervalMessages setting on the topic level. |
flushMs |
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.logFlushIntervalMs setting on the topic level. |
minCompactionLagMs |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retentionBytes |
The maximum size a partition can grow to before Kafka will discard old log segments to free up space if the This setting overrides the cluster-level KafkaConfig2_8.logRetentionBytes setting on the topic level. |
retentionMs |
The number of milliseconds to keep a log segment's file before deleting it. This setting overrides the cluster-level KafkaConfig2_8.logRetentionMs setting on the topic level. |
maxMessageBytes |
The largest record batch size allowed in topic. |
minInsyncReplicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segmentBytes |
This configuration controls the segment file size for the log. Retention and cleaning is always done a file This setting overrides the cluster-level KafkaConfig2_8.logSegmentBytes setting on the topic level. |
preallocate |
True if we should preallocate the file on disk when creating a new log segment. This setting overrides the cluster-level KafkaConfig2_8.logPreallocate setting on the topic level. |
TopicConfig3
A topic settings for 3.x
Field |
Description |
cleanupPolicy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compressionType |
enum CompressionType The compression type for a given topic.
|
deleteRetentionMs |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
fileDeleteDelayMs |
The time to wait before deleting a file from the filesystem. |
flushMessages |
The number of messages accumulated on a log partition before messages are flushed to disk. This setting overrides the cluster-level KafkaConfig3.logFlushIntervalMessages setting on the topic level. |
flushMs |
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.logFlushIntervalMs setting on the topic level. |
minCompactionLagMs |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retentionBytes |
The maximum size a partition can grow to before Kafka will discard old log segments to free up space if the This setting overrides the cluster-level KafkaConfig3.logRetentionBytes setting on the topic level. |
retentionMs |
The number of milliseconds to keep a log segment's file before deleting it. This setting overrides the cluster-level KafkaConfig3.logRetentionMs setting on the topic level. |
maxMessageBytes |
The largest record batch size allowed in topic. |
minInsyncReplicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segmentBytes |
This configuration controls the segment file size for the log. Retention and cleaning is always done a file This setting overrides the cluster-level KafkaConfig3.logSegmentBytes setting on the topic level. |
preallocate |
True if we should preallocate the file on disk when creating a new log segment. This setting overrides the cluster-level KafkaConfig3.logPreallocate setting on the topic level. |