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
{
"cluster_id": "string",
"topic_spec": {
"name": "string",
"partitions": "google.protobuf.Int64Value",
"replication_factor": "google.protobuf.Int64Value",
// Includes only one of the fields `topic_config_2_8`, `topic_config_3`
"topic_config_2_8": {
"cleanup_policy": "CleanupPolicy",
"compression_type": "CompressionType",
"delete_retention_ms": "google.protobuf.Int64Value",
"file_delete_delay_ms": "google.protobuf.Int64Value",
"flush_messages": "google.protobuf.Int64Value",
"flush_ms": "google.protobuf.Int64Value",
"min_compaction_lag_ms": "google.protobuf.Int64Value",
"retention_bytes": "google.protobuf.Int64Value",
"retention_ms": "google.protobuf.Int64Value",
"max_message_bytes": "google.protobuf.Int64Value",
"min_insync_replicas": "google.protobuf.Int64Value",
"segment_bytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
},
"topic_config_3": {
"cleanup_policy": "CleanupPolicy",
"compression_type": "CompressionType",
"delete_retention_ms": "google.protobuf.Int64Value",
"file_delete_delay_ms": "google.protobuf.Int64Value",
"flush_messages": "google.protobuf.Int64Value",
"flush_ms": "google.protobuf.Int64Value",
"min_compaction_lag_ms": "google.protobuf.Int64Value",
"retention_bytes": "google.protobuf.Int64Value",
"retention_ms": "google.protobuf.Int64Value",
"max_message_bytes": "google.protobuf.Int64Value",
"min_insync_replicas": "google.protobuf.Int64Value",
"segment_bytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
}
// end of the list of possible fields
}
}
Field |
Description |
cluster_id |
string Required field. ID of the Apache Kafka® cluster to create a topic in. To get the cluster ID, make a ClusterService.List request. |
topic_spec |
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. |
replication_factor |
Amount of copies of a topic data kept in the cluster. |
topic_config_2_8 |
Includes only one of the fields User-defined settings for the topic. |
topic_config_3 |
Includes only one of the fields User-defined settings for the topic. |
TopicConfig2_8
A topic settings for 2.8
Field |
Description |
cleanup_policy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compression_type |
enum CompressionType The compression type for a given topic.
|
delete_retention_ms |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
file_delete_delay_ms |
The time to wait before deleting a file from the filesystem. |
flush_messages |
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. |
flush_ms |
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. |
min_compaction_lag_ms |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retention_bytes |
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.log_retention_bytes setting on the topic level. |
retention_ms |
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. |
max_message_bytes |
The largest record batch size allowed in topic. |
min_insync_replicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segment_bytes |
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.log_segment_bytes 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.log_preallocate setting on the topic level. |
TopicConfig3
A topic settings for 3.x
Field |
Description |
cleanup_policy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compression_type |
enum CompressionType The compression type for a given topic.
|
delete_retention_ms |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
file_delete_delay_ms |
The time to wait before deleting a file from the filesystem. |
flush_messages |
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. |
flush_ms |
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. |
min_compaction_lag_ms |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retention_bytes |
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.log_retention_bytes setting on the topic level. |
retention_ms |
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. |
max_message_bytes |
The largest record batch size allowed in topic. |
min_insync_replicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segment_bytes |
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.log_segment_bytes 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.log_preallocate setting on the topic level. |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"cluster_id": "string",
"topic_name": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"name": "string",
"cluster_id": "string",
"partitions": "google.protobuf.Int64Value",
"replication_factor": "google.protobuf.Int64Value",
// Includes only one of the fields `topic_config_2_8`, `topic_config_3`
"topic_config_2_8": {
"cleanup_policy": "CleanupPolicy",
"compression_type": "CompressionType",
"delete_retention_ms": "google.protobuf.Int64Value",
"file_delete_delay_ms": "google.protobuf.Int64Value",
"flush_messages": "google.protobuf.Int64Value",
"flush_ms": "google.protobuf.Int64Value",
"min_compaction_lag_ms": "google.protobuf.Int64Value",
"retention_bytes": "google.protobuf.Int64Value",
"retention_ms": "google.protobuf.Int64Value",
"max_message_bytes": "google.protobuf.Int64Value",
"min_insync_replicas": "google.protobuf.Int64Value",
"segment_bytes": "google.protobuf.Int64Value",
"preallocate": "google.protobuf.BoolValue"
},
"topic_config_3": {
"cleanup_policy": "CleanupPolicy",
"compression_type": "CompressionType",
"delete_retention_ms": "google.protobuf.Int64Value",
"file_delete_delay_ms": "google.protobuf.Int64Value",
"flush_messages": "google.protobuf.Int64Value",
"flush_ms": "google.protobuf.Int64Value",
"min_compaction_lag_ms": "google.protobuf.Int64Value",
"retention_bytes": "google.protobuf.Int64Value",
"retention_ms": "google.protobuf.Int64Value",
"max_message_bytes": "google.protobuf.Int64Value",
"min_insync_replicas": "google.protobuf.Int64Value",
"segment_bytes": "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. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
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 |
cluster_id |
string ID of the Apache Kafka® cluster where a topic is being created. |
topic_name |
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. |
cluster_id |
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. |
replication_factor |
Amount of data copies (replicas) for the topic in the cluster. |
topic_config_2_8 |
Includes only one of the fields User-defined settings for the topic. |
topic_config_3 |
Includes only one of the fields User-defined settings for the topic. |
TopicConfig2_8
A topic settings for 2.8
Field |
Description |
cleanup_policy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compression_type |
enum CompressionType The compression type for a given topic.
|
delete_retention_ms |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
file_delete_delay_ms |
The time to wait before deleting a file from the filesystem. |
flush_messages |
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. |
flush_ms |
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. |
min_compaction_lag_ms |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retention_bytes |
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.log_retention_bytes setting on the topic level. |
retention_ms |
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. |
max_message_bytes |
The largest record batch size allowed in topic. |
min_insync_replicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segment_bytes |
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.log_segment_bytes 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.log_preallocate setting on the topic level. |
TopicConfig3
A topic settings for 3.x
Field |
Description |
cleanup_policy |
enum CleanupPolicy Retention policy to use on old log messages.
|
compression_type |
enum CompressionType The compression type for a given topic.
|
delete_retention_ms |
The amount of time in milliseconds to retain delete tombstone markers for log compacted topics. |
file_delete_delay_ms |
The time to wait before deleting a file from the filesystem. |
flush_messages |
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. |
flush_ms |
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. |
min_compaction_lag_ms |
The minimum time in milliseconds a message will remain uncompacted in the log. |
retention_bytes |
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.log_retention_bytes setting on the topic level. |
retention_ms |
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. |
max_message_bytes |
The largest record batch size allowed in topic. |
min_insync_replicas |
This configuration specifies the minimum number of replicas that must acknowledge a write to topic for the write |
segment_bytes |
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.log_segment_bytes 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.log_preallocate setting on the topic level. |