이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 3. AMQ Streams Kafka Bridge API Reference


3.1. Overview

The AMQ Streams Kafka Bridge provides a REST API for integrating HTTP based client applications with a Kafka cluster. You can use the API to create and manage consumers and send and receive records over HTTP rather than the native Kafka protocol.

3.1.1. Version information

Version : 0.1.0

3.1.2. Tags

  • Consumers : Consumer operations to create consumers in your Kafka cluster and perform common actions, such as subscribing to topics, retrieving processed records, and committing offsets.
  • Producer : Producer operations to send records to a specified topic or topic partition.
  • Seek : Seek operations that enable a consumer to begin receiving messages from a given offset position.
  • Topics : Topic operations to send messages to a specified topic or topic partition, optionally including message keys in requests. You can also retrieve topics and topic metadata.

3.1.3. Consumes

  • application/json

3.1.4. Produces

  • application/json

3.2. Definitions

3.2.1. AssignedTopicPartitions

Type : < string, < integer (int32) > array > map

3.2.2. BridgeInfo

Information about Kafka Bridge instance.

Expand
NameSchema

bridge_version
optional

string

3.2.3. Consumer

Expand
NameDescriptionSchema

auto.offset.reset
optional

Resets the offset position for the consumer. If set to earliest, messages are read from the first offset. If set to latest, messages are read from the latest offset.

string

consumer.request.timeout.ms
optional

Sets the maximum amount of time, in milliseconds, for the consumer to wait for messages for a request. If the timeout period is reached without a response, an error is returned.

integer

enable.auto.commit
optional

If set to true, message offsets are committed automatically for the consumer. If set to false, message offsets must be committed manually.

boolean

fetch.min.bytes
optional

Sets the minimum ammount of data, in bytes, for the consumer to receive. The broker waits until the data to send exceeds this amount.

integer

format
optional

The allowable message format for the consumer, which can be binary (default) or json. The messages are converted into a JSON format.

string

isolation.level
optional

If set to read_uncommitted, all transaction records are retrieved. If set to read_committed , the records from committed transactions are retrieved.

string

name
optional

The unique name for the consumer instance. The name is unique within the scope of the consumer group. The name is used in URLs.

string

3.2.4. ConsumerRecord

Expand
NameSchema

headers
optional

KafkaHeaderList

key
optional

string

offset
optional

integer (int64)

partition
optional

integer (int32)

topic
optional

string

value
optional

string

3.2.5. ConsumerRecordList

Type : < ConsumerRecord > array

3.2.6. CreatedConsumer

Expand
NameDescriptionSchema

base_uri
optional

Base URI used to construct URIs for subsequent requests against this consumer instance.

string

instance_id
optional

Unique ID for the consumer instance in the group.

string

3.2.7. Error

Expand
NameSchema

error_code
optional

integer (int32)

message
optional

string

3.2.8. KafkaHeader

Expand
NameDescriptionSchema

key
required

 

string

value
required

The header value in binary format, base64-encoded
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"

string (byte)

3.2.9. KafkaHeaderList

Type : < KafkaHeader > array

3.2.10. OffsetCommitSeek

Expand
NameSchema

offset
required

integer (int64)

partition
required

integer (int32)

topic
required

string

3.2.11. OffsetCommitSeekList

Expand
NameSchema

offsets
optional

< OffsetCommitSeek > array

3.2.12. OffsetRecordSent

Expand
NameSchema

offset
optional

integer (int64)

partition
optional

integer (int32)

3.2.13. OffsetRecordSentList

Expand
NameSchema

offsets
optional

< OffsetRecordSent > array

3.2.14. OffsetsSummary

Expand
NameSchema

beginning_offset
optional

integer (int64)

end_offset
optional

integer (int64)

3.2.15. Partition

Expand
NameSchema

partition
optional

integer (int32)

topic
optional

string

3.2.16. PartitionMetadata

Expand
NameSchema

leader
optional

integer (int32)

partition
optional

integer (int32)

replicas
optional

< Replica > array

3.2.17. Partitions

Expand
NameSchema

partitions
optional

< Partition > array

3.2.18. ProducerRecord

Expand
NameSchema

headers
optional

KafkaHeaderList

partition
optional

integer (int32)

3.2.19. ProducerRecordList

Expand
NameSchema

records
optional

< ProducerRecord > array

3.2.20. ProducerRecordToPartition

Type : object

3.2.21. ProducerRecordToPartitionList

Expand
NameSchema

records
optional

< ProducerRecordToPartition > array

3.2.22. Replica

Expand
NameSchema

broker
optional

integer (int32)

in_sync
optional

boolean

leader
optional

boolean

3.2.23. SubscribedTopicList

Expand
NameSchema

partitions
optional

< AssignedTopicPartitions > array

topics
optional

Topics

3.2.24. TopicMetadata

Expand
NameDescriptionSchema

configs
optional

Per-topic configuration overrides

< string, string > map

name
optional

Name of the topic

string

partitions
optional

 

< PartitionMetadata > array

3.2.25. Topics

Expand
NameDescriptionSchema

topic_pattern
optional

A regex topic pattern for matching multiple topics

string

topics
optional

 

< string > array

3.3. Paths

3.3.1. GET /

3.3.1.1. Description

Retrieves information about the Kafka Bridge instance, in JSON format.

3.3.1.2. Responses

Expand
HTTP CodeDescriptionSchema

200

Information about Kafka Bridge instance.

BridgeInfo

3.3.1.3. Produces

  • application/json

3.3.1.4. Example HTTP response

3.3.1.4.1. Response 200
{
  "bridge_version" : "0.16.0"
}
Copy to Clipboard Toggle word wrap

3.3.2. POST /consumers/{groupid}

3.3.2.1. Description

Creates a consumer instance in the given consumer group. You can optionally specify a consumer name and supported configuration options. It returns a base URI which must be used to construct URLs for subsequent requests against this consumer instance.

3.3.2.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group in which to create the consumer.

string

Body

body
required

Name and configuration of the consumer. The name is unique within the scope of the consumer group. If a name is not specified, a randomly generated name is assigned. All parameters are optional. The supported configuration options are shown in the following example.

Consumer

3.3.2.3. Responses

Expand
HTTP CodeDescriptionSchema

200

Consumer created successfully.

CreatedConsumer

409

A consumer instance with the specified name already exists in the Kafka Bridge.

Error

422

One or more consumer configuration options have invalid values.

Error

3.3.2.4. Consumes

  • application/vnd.kafka.v2+json

3.3.2.5. Produces

  • application/vnd.kafka.v2+json

3.3.2.6. Tags

  • Consumers

3.3.2.7. Example HTTP request

3.3.2.7.1. Request body
{
  "name" : "consumer1",
  "format" : "binary",
  "auto.offset.reset" : "earliest",
  "enable.auto.commit" : false,
  "fetch.min.bytes" : 512,
  "consumer.request.timeout.ms" : 30000,
  "isolation.level" : "read_committed"
}
Copy to Clipboard Toggle word wrap

3.3.2.8. Example HTTP response

3.3.2.8.1. Response 200
{
  "instance_id" : "consumer1",
  "base_uri" : "http://localhost:8080/consumers/my-group/instances/consumer1"
}
Copy to Clipboard Toggle word wrap
3.3.2.8.2. Response 409
{
  "error_code" : 409,
  "message" : "A consumer instance with the specified name already exists in the Kafka Bridge."
}
Copy to Clipboard Toggle word wrap
3.3.2.8.3. Response 422
{
  "error_code" : 422,
  "message" : "One or more consumer configuration options have invalid values."
}
Copy to Clipboard Toggle word wrap

3.3.3. DELETE /consumers/{groupid}/instances/{name}

3.3.3.1. Description

Deletes a specified consumer instance. The request for this operation MUST use the base URL (including the host and port) returned in the response from the POST request to /consumers/{groupid} that was used to create this consumer.

3.3.3.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the consumer belongs.

string

Path

name
required

Name of the consumer to delete.

string

3.3.3.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Consumer removed successfully.

No Content

404

The specified consumer instance was not found.

Error

3.3.3.4. Consumes

  • application/vnd.kafka.v2+json

3.3.3.5. Produces

  • application/vnd.kafka.v2+json

3.3.3.6. Tags

  • Consumers

3.3.3.7. Example HTTP response

3.3.3.7.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.4. POST /consumers/{groupid}/instances/{name}/assignments

3.3.4.1. Description

Assigns one or more topic partitions to a consumer.

3.3.4.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the consumer belongs.

string

Path

name
required

Name of the consumer to assign topic partitions to.

string

Body

body
required

List of topic partitions to assign to the consumer.

Partitions

3.3.4.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Partitions assigned successfully.

No Content

404

The specified consumer instance was not found.

Error

409

Subscriptions to topics, partitions, and patterns are mutually exclusive.

Error

3.3.4.4. Consumes

  • application/vnd.kafka.v2+json

3.3.4.5. Produces

  • application/vnd.kafka.v2+json

3.3.4.6. Tags

  • Consumers

3.3.4.7. Example HTTP request

3.3.4.7.1. Request body
{
  "partitions" : [ {
    "topic" : "topic",
    "partition" : 0
  }, {
    "topic" : "topic",
    "partition" : 1
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.4.8. Example HTTP response

3.3.4.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap
3.3.4.8.2. Response 409
{
  "error_code" : 409,
  "message" : "Subscriptions to topics, partitions, and patterns are mutually exclusive."
}
Copy to Clipboard Toggle word wrap

3.3.5. POST /consumers/{groupid}/instances/{name}/offsets

3.3.5.1. Description

Commits a list of consumer offsets. To commit offsets for all records fetched by the consumer, leave the request body empty.

3.3.5.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the consumer belongs.

string

Path

name
required

Name of the consumer.

string

Body

body
optional

List of consumer offsets to commit to the consumer offsets commit log. You can specify one or more topic partitions to commit offsets for.

OffsetCommitSeekList

3.3.5.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Commit made successfully.

No Content

404

The specified consumer instance was not found.

Error

3.3.5.4. Consumes

  • application/vnd.kafka.v2+json

3.3.5.5. Produces

  • application/vnd.kafka.v2+json

3.3.5.6. Tags

  • Consumers

3.3.5.7. Example HTTP request

3.3.5.7.1. Request body
{
  "offsets" : [ {
    "topic" : "topic",
    "partition" : 0,
    "offset" : 15
  }, {
    "topic" : "topic",
    "partition" : 1,
    "offset" : 42
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.5.8. Example HTTP response

3.3.5.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.6. POST /consumers/{groupid}/instances/{name}/positions

3.3.6.1. Description

Configures a subscribed consumer to fetch offsets from a particular offset the next time it fetches a set of records from a given topic partition. This overrides the default fetch behavior for consumers. You can specify one or more topic partitions.

3.3.6.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the consumer belongs.

string

Path

name
required

Name of the subscribed consumer.

string

Body

body
required

List of partition offsets from which the subscribed consumer will next fetch records.

OffsetCommitSeekList

3.3.6.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Seek performed successfully.

No Content

404

The specified consumer instance was not found, or the specified consumer instance did not have one of the specified partitions assigned.

Error

3.3.6.4. Consumes

  • application/vnd.kafka.v2+json

3.3.6.5. Produces

  • application/vnd.kafka.v2+json

3.3.6.6. Tags

  • Consumers
  • Seek

3.3.6.7. Example HTTP request

3.3.6.7.1. Request body
{
  "offsets" : [ {
    "topic" : "topic",
    "partition" : 0,
    "offset" : 15
  }, {
    "topic" : "topic",
    "partition" : 1,
    "offset" : 42
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.6.8. Example HTTP response

3.3.6.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.7. POST /consumers/{groupid}/instances/{name}/positions/beginning

3.3.7.1. Description

Configures a subscribed consumer to seek (and subsequently read from) the first offset in one or more given topic partitions.

3.3.7.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the subscribed consumer belongs.

string

Path

name
required

Name of the subscribed consumer.

string

Body

body
required

List of topic partitions to which the consumer is subscribed. The consumer will seek the first offset in the specified partitions.

Partitions

3.3.7.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Seek to the beginning performed successfully.

No Content

404

The specified consumer instance was not found, or the specified consumer instance did not have one of the specified partitions assigned.

Error

3.3.7.4. Consumes

  • application/vnd.kafka.v2+json

3.3.7.5. Produces

  • application/vnd.kafka.v2+json

3.3.7.6. Tags

  • Consumers
  • Seek

3.3.7.7. Example HTTP request

3.3.7.7.1. Request body
{
  "partitions" : [ {
    "topic" : "topic",
    "partition" : 0
  }, {
    "topic" : "topic",
    "partition" : 1
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.7.8. Example HTTP response

3.3.7.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.8. POST /consumers/{groupid}/instances/{name}/positions/end

3.3.8.1. Description

Configures a subscribed consumer to seek (and subsequently read from) the offset at the end of one or more of the given topic partitions.

3.3.8.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the subscribed consumer belongs.

string

Path

name
required

Name of the subscribed consumer.

string

Body

body
optional

List of topic partitions to which the consumer is subscribed. The consumer will seek the last offset in the specified partitions.

Partitions

3.3.8.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Seek to the end performed successfully.

No Content

404

The specified consumer instance was not found, or the specified consumer instance did not have one of the specified partitions assigned.

Error

3.3.8.4. Consumes

  • application/vnd.kafka.v2+json

3.3.8.5. Produces

  • application/vnd.kafka.v2+json

3.3.8.6. Tags

  • Consumers
  • Seek

3.3.8.7. Example HTTP request

3.3.8.7.1. Request body
{
  "partitions" : [ {
    "topic" : "topic",
    "partition" : 0
  }, {
    "topic" : "topic",
    "partition" : 1
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.8.8. Example HTTP response

3.3.8.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.9. GET /consumers/{groupid}/instances/{name}/records

3.3.9.1. Description

Retrieves records for a subscribed consumer, including message values, topics, and partitions. The request for this operation MUST use the base URL (including the host and port) returned in the response from the POST request to /consumers/{groupid} that was used to create this consumer.

3.3.9.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the subscribed consumer belongs.

string

Path

name
required

Name of the subscribed consumer to retrieve records from.

string

Query

max_bytes
optional

The maximum size, in bytes, of unencoded keys and values that can be included in the response. Otherwise, an error response with code 422 is returned.

integer

Query

timeout
optional

The maximum amount of time, in milliseconds, that the HTTP Bridge spends retrieving records before timing out the request.

integer

3.3.9.3. Responses

Expand
HTTP CodeDescriptionSchema

200

Poll request executed successfully.

ConsumerRecordList

404

The specified consumer instance was not found.

Error

406

The format used in the consumer creation request does not match the embedded format in the Accept header of this request or the bridge got a message from the topic which is not JSON encoded.

Error

422

Response exceeds the maximum number of bytes the consumer can receive

Error

3.3.9.4. Produces

  • application/vnd.kafka.json.v2+json
  • application/vnd.kafka.binary.v2+json
  • application/vnd.kafka.v2+json

3.3.9.5. Tags

  • Consumers

3.3.9.6. Example HTTP response

3.3.9.6.1. Response 200
[ {
  "topic" : "topic",
  "key" : "key1",
  "value" : {
    "foo" : "bar"
  },
  "partition" : 0,
  "offset" : 2
}, {
  "topic" : "topic",
  "key" : "key2",
  "value" : [ "foo2", "bar2" ],
  "partition" : 1,
  "offset" : 3
} ]
Copy to Clipboard Toggle word wrap
[
  {
    "topic": "test",
    "key": "a2V5",
    "value": "Y29uZmx1ZW50",
    "partition": 1,
    "offset": 100,
  },
  {
    "topic": "test",
    "key": "a2V5",
    "value": "a2Fma2E=",
    "partition": 2,
    "offset": 101,
  }
]
Copy to Clipboard Toggle word wrap
3.3.9.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap
3.3.9.6.3. Response 406
{
  "error_code" : 406,
  "message" : "The `format` used in the consumer creation request does not match the embedded format in the Accept header of this request."
}
Copy to Clipboard Toggle word wrap
3.3.9.6.4. Response 422
{
  "error_code" : 422,
  "message" : "Response exceeds the maximum number of bytes the consumer can receive"
}
Copy to Clipboard Toggle word wrap

3.3.10. POST /consumers/{groupid}/instances/{name}/subscription

3.3.10.1. Description

Subscribes a consumer to one or more topics. You can describe the topics to which the consumer will subscribe in a list (of Topics type) or as a topic_pattern field. Each call replaces the subscriptions for the subscriber.

3.3.10.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the subscribed consumer belongs.

string

Path

name
required

Name of the consumer to subscribe to topics.

string

Body

body
required

List of topics to which the consumer will subscribe.

Topics

3.3.10.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Consumer subscribed successfully.

No Content

404

The specified consumer instance was not found.

Error

409

Subscriptions to topics, partitions, and patterns are mutually exclusive.

Error

422

A list (of Topics type) or a topic_pattern must be specified.

Error

3.3.10.4. Consumes

  • application/vnd.kafka.v2+json

3.3.10.5. Produces

  • application/vnd.kafka.v2+json

3.3.10.6. Tags

  • Consumers

3.3.10.7. Example HTTP request

3.3.10.7.1. Request body
{
  "topics" : [ "topic1", "topic2" ]
}
Copy to Clipboard Toggle word wrap

3.3.10.8. Example HTTP response

3.3.10.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap
3.3.10.8.2. Response 409
{
  "error_code" : 409,
  "message" : "Subscriptions to topics, partitions, and patterns are mutually exclusive."
}
Copy to Clipboard Toggle word wrap
3.3.10.8.3. Response 422
{
  "error_code" : 422,
  "message" : "A list (of Topics type) or a topic_pattern must be specified."
}
Copy to Clipboard Toggle word wrap

3.3.11. GET /consumers/{groupid}/instances/{name}/subscription

3.3.11.1. Description

Retrieves a list of the topics to which the consumer is subscribed.

3.3.11.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the subscribed consumer belongs.

string

Path

name
required

Name of the subscribed consumer.

string

3.3.11.3. Responses

Expand
HTTP CodeDescriptionSchema

200

List of subscribed topics and partitions.

SubscribedTopicList

404

The specified consumer instance was not found.

Error

3.3.11.4. Produces

  • application/vnd.kafka.v2+json

3.3.11.5. Tags

  • Consumers

3.3.11.6. Example HTTP response

3.3.11.6.1. Response 200
{
  "topics" : [ "my-topic1", "my-topic2" ],
  "partitions" : [ {
    "my-topic1" : [ 1, 2, 3 ]
  }, {
    "my-topic2" : [ 1 ]
  } ]
}
Copy to Clipboard Toggle word wrap
3.3.11.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.12. DELETE /consumers/{groupid}/instances/{name}/subscription

3.3.12.1. Description

Unsubscribes a consumer from all topics.

3.3.12.2. Parameters

Expand
TypeNameDescriptionSchema

Path

groupid
required

ID of the consumer group to which the subscribed consumer belongs.

string

Path

name
required

Name of the consumer to unsubscribe from topics.

string

3.3.12.3. Responses

Expand
HTTP CodeDescriptionSchema

204

Consumer unsubscribed successfully.

No Content

404

The specified consumer instance was not found.

Error

3.3.12.4. Tags

  • Consumers

3.3.12.5. Example HTTP response

3.3.12.5.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
Copy to Clipboard Toggle word wrap

3.3.13. GET /healthy

3.3.13.1. Description

Check if the bridge is running. This does not necessarily imply that it is ready to accept requests.

3.3.13.2. Responses

Expand
HTTP CodeDescriptionSchema

200

The bridge is healthy

No Content

3.3.14. GET /openapi

3.3.14.1. Description

Retrieves the OpenAPI v2 specification in JSON format.

3.3.14.2. Responses

Expand
HTTP CodeDescriptionSchema

200

OpenAPI v2 specification in JSON format retrieved successfully.

string

3.3.14.3. Produces

  • application/json

3.3.15. GET /ready

3.3.15.1. Description

Check if the bridge is ready and can accept requests.

3.3.15.2. Responses

Expand
HTTP CodeDescriptionSchema

200

The bridge is ready

No Content

3.3.16. GET /topics

3.3.16.1. Description

Retrieves a list of all topics.

3.3.16.2. Responses

Expand
HTTP CodeDescriptionSchema

200

List of topics.

< string > array

3.3.16.3. Produces

  • application/vnd.kafka.v2+json

3.3.16.4. Tags

  • Topics

3.3.16.5. Example HTTP response

3.3.16.5.1. Response 200
[ "topic1", "topic2" ]
Copy to Clipboard Toggle word wrap

3.3.17. POST /topics/{topicname}

3.3.17.1. Description

Sends one or more records to a given topic, optionally specifying a partition, key, or both.

3.3.17.2. Parameters

Expand
TypeNameDescriptionSchema

Path

topicname
required

Name of the topic to send records to or retrieve metadata from.

string

Body

body
required

 

ProducerRecordList

3.3.17.3. Responses

Expand
HTTP CodeDescriptionSchema

200

Records sent successfully.

OffsetRecordSentList

404

The specified topic was not found.

Error

422

The record list is not valid.

Error

3.3.17.4. Consumes

  • application/vnd.kafka.json.v2+json
  • application/vnd.kafka.binary.v2+json

3.3.17.5. Produces

  • application/vnd.kafka.v2+json

3.3.17.6. Tags

  • Producer
  • Topics

3.3.17.7. Example HTTP request

3.3.17.7.1. Request body
{
  "records" : [ {
    "key" : "key1",
    "value" : "value1"
  }, {
    "value" : "value2",
    "partition" : 1
  }, {
    "value" : "value3"
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.17.8. Example HTTP response

3.3.17.8.1. Response 200
{
  "offsets" : [ {
    "partition" : 2,
    "offset" : 0
  }, {
    "partition" : 1,
    "offset" : 1
  }, {
    "partition" : 2,
    "offset" : 2
  } ]
}
Copy to Clipboard Toggle word wrap
3.3.17.8.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic was not found."
}
Copy to Clipboard Toggle word wrap
3.3.17.8.3. Response 422
{
  "error_code" : 422,
  "message" : "The record list contains invalid records."
}
Copy to Clipboard Toggle word wrap

3.3.18. GET /topics/{topicname}

3.3.18.1. Description

Retrieves the metadata about a given topic.

3.3.18.2. Parameters

Expand
TypeNameDescriptionSchema

Path

topicname
required

Name of the topic to send records to or retrieve metadata from.

string

3.3.18.3. Responses

Expand
HTTP CodeDescriptionSchema

200

Topic metadata

TopicMetadata

3.3.18.4. Produces

  • application/vnd.kafka.v2+json

3.3.18.5. Tags

  • Topics

3.3.18.6. Example HTTP response

3.3.18.6.1. Response 200
{
  "name" : "topic",
  "offset" : 2,
  "configs" : {
    "cleanup.policy" : "compact"
  },
  "partitions" : [ {
    "partition" : 1,
    "leader" : 1,
    "replicas" : [ {
      "broker" : 1,
      "leader" : true,
      "in_sync" : true
    }, {
      "broker" : 2,
      "leader" : false,
      "in_sync" : true
    } ]
  }, {
    "partition" : 2,
    "leader" : 2,
    "replicas" : [ {
      "broker" : 1,
      "leader" : false,
      "in_sync" : true
    }, {
      "broker" : 2,
      "leader" : true,
      "in_sync" : true
    } ]
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.19. GET /topics/{topicname}/partitions

3.3.19.1. Description

Retrieves a list of partitions for the topic.

3.3.19.2. Parameters

Expand
TypeNameDescriptionSchema

Path

topicname
required

Name of the topic to send records to or retrieve metadata from.

string

3.3.19.3. Responses

Expand
HTTP CodeDescriptionSchema

200

List of partitions

< PartitionMetadata > array

404

The specified topic was not found.

Error

3.3.19.4. Produces

  • application/vnd.kafka.v2+json

3.3.19.5. Tags

  • Topics

3.3.19.6. Example HTTP response

3.3.19.6.1. Response 200
[ {
  "partition" : 1,
  "leader" : 1,
  "replicas" : [ {
    "broker" : 1,
    "leader" : true,
    "in_sync" : true
  }, {
    "broker" : 2,
    "leader" : false,
    "in_sync" : true
  } ]
}, {
  "partition" : 2,
  "leader" : 2,
  "replicas" : [ {
    "broker" : 1,
    "leader" : false,
    "in_sync" : true
  }, {
    "broker" : 2,
    "leader" : true,
    "in_sync" : true
  } ]
} ]
Copy to Clipboard Toggle word wrap
3.3.19.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic was not found."
}
Copy to Clipboard Toggle word wrap

3.3.20. POST /topics/{topicname}/partitions/{partitionid}

3.3.20.1. Description

Sends one or more records to a given topic partition, optionally specifying a key.

3.3.20.2. Parameters

Expand
TypeNameDescriptionSchema

Path

partitionid
required

ID of the partition to send records to or retrieve metadata from.

integer

Path

topicname
required

Name of the topic to send records to or retrieve metadata from.

string

Body

body
required

List of records to send to a given topic partition, including a value (required) and a key (optional).

ProducerRecordToPartitionList

3.3.20.3. Responses

Expand
HTTP CodeDescriptionSchema

200

Records sent successfully.

OffsetRecordSentList

404

The specified topic partition was not found.

Error

422

The record is not valid.

Error

3.3.20.4. Consumes

  • application/vnd.kafka.json.v2+json
  • application/vnd.kafka.binary.v2+json

3.3.20.5. Produces

  • application/vnd.kafka.v2+json

3.3.20.6. Tags

  • Producer
  • Topics

3.3.20.7. Example HTTP request

3.3.20.7.1. Request body
{
  "records" : [ {
    "key" : "key1",
    "value" : "value1"
  }, {
    "value" : "value2"
  } ]
}
Copy to Clipboard Toggle word wrap

3.3.20.8. Example HTTP response

3.3.20.8.1. Response 200
{
  "offsets" : [ {
    "partition" : 2,
    "offset" : 0
  }, {
    "partition" : 1,
    "offset" : 1
  }, {
    "partition" : 2,
    "offset" : 2
  } ]
}
Copy to Clipboard Toggle word wrap
3.3.20.8.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic partition was not found."
}
Copy to Clipboard Toggle word wrap
3.3.20.8.3. Response 422
{
  "error_code" : 422,
  "message" : "The record is not valid."
}
Copy to Clipboard Toggle word wrap

3.3.21. GET /topics/{topicname}/partitions/{partitionid}

3.3.21.1. Description

Retrieves partition metadata for the topic partition.

3.3.21.2. Parameters

Expand
TypeNameDescriptionSchema

Path

partitionid
required

ID of the partition to send records to or retrieve metadata from.

integer

Path

topicname
required

Name of the topic to send records to or retrieve metadata from.

string

3.3.21.3. Responses

Expand
HTTP CodeDescriptionSchema

200

Partition metadata

PartitionMetadata

404

The specified topic partition was not found.

Error

3.3.21.4. Produces

  • application/vnd.kafka.v2+json

3.3.21.5. Tags

  • Topics

3.3.21.6. Example HTTP response

3.3.21.6.1. Response 200
{
  "partition" : 1,
  "leader" : 1,
  "replicas" : [ {
    "broker" : 1,
    "leader" : true,
    "in_sync" : true
  }, {
    "broker" : 2,
    "leader" : false,
    "in_sync" : true
  } ]
}
Copy to Clipboard Toggle word wrap
3.3.21.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic partition was not found."
}
Copy to Clipboard Toggle word wrap

3.3.22. GET /topics/{topicname}/partitions/{partitionid}/offsets

3.3.22.1. Description

Retrieves a summary of the offsets for the topic partition.

3.3.22.2. Parameters

Expand
TypeNameDescriptionSchema

Path

partitionid
required

ID of the partition.

integer

Path

topicname
required

Name of the topic containing the partition.

string

3.3.22.3. Responses

Expand
HTTP CodeDescriptionSchema

200

A summary of the offsets for the topic partition.

OffsetsSummary

404

The specified topic partition was not found.

Error

3.3.22.4. Produces

  • application/vnd.kafka.v2+json

3.3.22.5. Tags

  • Topics

3.3.22.6. Example HTTP response

3.3.22.6.1. Response 200
{
  "beginning_offset" : 10,
  "end_offset" : 50
}
Copy to Clipboard Toggle word wrap
3.3.22.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic partition was not found."
}
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat