Rechercher

Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 4. Streams for Apache Kafka Bridge API Reference

download PDF

4.1. Overview

The Streams for Apache 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.

4.1.1. Version information

Version : 0.1.0

4.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.

4.1.3. Consumes

  • application/json

4.1.4. Produces

  • application/json

4.2. Definitions

4.2.1. AssignedTopicPartitions

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

4.2.2. BridgeInfo

Information about Kafka Bridge instance.

NameSchema

bridge_version
optional

string

4.2.3. Consumer

NameDescriptionSchema

auto.offset.reset
optional

Resets the offset position for the consumer. If set to latest (default), messages are read from the latest offset. If set to earliest, messages are read from the first 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. Default is 30000 (30 seconds).

integer

enable.auto.commit
optional

If set to true (default), 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 amount of data, in bytes, for the consumer to receive. The broker waits until the data to send exceeds this amount. Default is 1 byte.

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 (default), all transaction records are retrieved, indpendent of any transaction outcome. 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. If a name is not specified, a randomly generated name is assigned.

string

4.2.4. ConsumerRecord

NameSchema

headers
optional

KafkaHeaderList

offset
optional

integer (int64)

partition
optional

integer (int32)

topic
optional

string

4.2.5. ConsumerRecordList

Type : < ConsumerRecord > array

4.2.6. CreatedConsumer

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

4.2.7. Error

NameSchema

error_code
optional

integer (int32)

message
optional

string

4.2.8. KafkaHeader

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)

4.2.9. KafkaHeaderList

Type : < KafkaHeader > array

4.2.10. OffsetCommitSeek

NameSchema

offset
required

integer (int64)

partition
required

integer (int32)

topic
required

string

4.2.11. OffsetCommitSeekList

NameSchema

offsets
optional

< OffsetCommitSeek > array

4.2.12. OffsetRecordSent

NameSchema

offset
optional

integer (int64)

partition
optional

integer (int32)

4.2.13. OffsetRecordSentList

NameSchema

offsets
optional

< OffsetRecordSent > array

4.2.14. OffsetsSummary

NameSchema

beginning_offset
optional

integer (int64)

end_offset
optional

integer (int64)

4.2.15. Partition

NameSchema

partition
optional

integer (int32)

topic
optional

string

4.2.16. PartitionMetadata

NameSchema

leader
optional

integer (int32)

partition
optional

integer (int32)

replicas
optional

< Replica > array

4.2.17. Partitions

NameSchema

partitions
optional

< Partition > array

4.2.18. ProducerRecord

NameSchema

headers
optional

KafkaHeaderList

partition
optional

integer (int32)

4.2.19. ProducerRecordList

NameSchema

records
optional

< ProducerRecord > array

4.2.20. ProducerRecordToPartition

NameSchema

headers
optional

KafkaHeaderList

4.2.21. ProducerRecordToPartitionList

NameSchema

records
optional

< ProducerRecordToPartition > array

4.2.22. Replica

NameSchema

broker
optional

integer (int32)

in_sync
optional

boolean

leader
optional

boolean

4.2.23. SubscribedTopicList

NameSchema

partitions
optional

< AssignedTopicPartitions > array

topics
optional

Topics

4.2.24. TopicMetadata

NameDescriptionSchema

configs
optional

Per-topic configuration overrides

< string, string > map

name
optional

Name of the topic

string

partitions
optional

 

< PartitionMetadata > array

4.2.25. Topics

NameDescriptionSchema

topic_pattern
optional

A regex topic pattern for matching multiple topics

string

topics
optional

 

< string > array

4.3. Paths

4.3.1. GET /

4.3.1.1. Description

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

4.3.1.2. Responses

HTTP CodeDescriptionSchema

200

Information about Kafka Bridge instance.

BridgeInfo

4.3.1.3. Produces

  • application/json

4.3.1.4. Example HTTP response

4.3.1.4.1. Response 200
{
  "bridge_version" : "0.16.0"
}

4.3.2. POST /consumers/{groupid}

4.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.

4.3.2.2. Parameters

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

4.3.2.3. Responses

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

4.3.2.4. Consumes

  • application/vnd.kafka.v2+json

4.3.2.5. Produces

  • application/vnd.kafka.v2+json

4.3.2.6. Tags

  • Consumers

4.3.2.7. Example HTTP request

4.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"
}

4.3.2.8. Example HTTP response

4.3.2.8.1. Response 200
{
  "instance_id" : "consumer1",
  "base_uri" : "http://localhost:8080/consumers/my-group/instances/consumer1"
}
4.3.2.8.2. Response 409
{
  "error_code" : 409,
  "message" : "A consumer instance with the specified name already exists in the Kafka Bridge."
}
4.3.2.8.3. Response 422
{
  "error_code" : 422,
  "message" : "One or more consumer configuration options have invalid values."
}

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

4.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.

4.3.3.2. Parameters

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

4.3.3.3. Responses

HTTP CodeDescriptionSchema

204

Consumer removed successfully.

No Content

404

The specified consumer instance was not found.

Error

4.3.3.4. Consumes

  • application/vnd.kafka.v2+json

4.3.3.5. Produces

  • application/vnd.kafka.v2+json

4.3.3.6. Tags

  • Consumers

4.3.3.7. Example HTTP response

4.3.3.7.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

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

4.3.4.1. Description

Assigns one or more topic partitions to a consumer.

4.3.4.2. Parameters

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

4.3.4.3. Responses

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

4.3.4.4. Consumes

  • application/vnd.kafka.v2+json

4.3.4.5. Produces

  • application/vnd.kafka.v2+json

4.3.4.6. Tags

  • Consumers

4.3.4.7. Example HTTP request

4.3.4.7.1. Request body
{
  "partitions" : [ {
    "topic" : "topic",
    "partition" : 0
  }, {
    "topic" : "topic",
    "partition" : 1
  } ]
}

4.3.4.8. Example HTTP response

4.3.4.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
4.3.4.8.2. Response 409
{
  "error_code" : 409,
  "message" : "Subscriptions to topics, partitions, and patterns are mutually exclusive."
}

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

4.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.

4.3.5.2. Parameters

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

4.3.5.3. Responses

HTTP CodeDescriptionSchema

204

Commit made successfully.

No Content

404

The specified consumer instance was not found.

Error

4.3.5.4. Consumes

  • application/vnd.kafka.v2+json

4.3.5.5. Produces

  • application/vnd.kafka.v2+json

4.3.5.6. Tags

  • Consumers

4.3.5.7. Example HTTP request

4.3.5.7.1. Request body
{
  "offsets" : [ {
    "topic" : "topic",
    "partition" : 0,
    "offset" : 15
  }, {
    "topic" : "topic",
    "partition" : 1,
    "offset" : 42
  } ]
}

4.3.5.8. Example HTTP response

4.3.5.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

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

4.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.

4.3.6.2. Parameters

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

4.3.6.3. Responses

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

4.3.6.4. Consumes

  • application/vnd.kafka.v2+json

4.3.6.5. Produces

  • application/vnd.kafka.v2+json

4.3.6.6. Tags

  • Consumers
  • Seek

4.3.6.7. Example HTTP request

4.3.6.7.1. Request body
{
  "offsets" : [ {
    "topic" : "topic",
    "partition" : 0,
    "offset" : 15
  }, {
    "topic" : "topic",
    "partition" : 1,
    "offset" : 42
  } ]
}

4.3.6.8. Example HTTP response

4.3.6.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

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

4.3.7.1. Description

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

4.3.7.2. Parameters

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

4.3.7.3. Responses

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

4.3.7.4. Consumes

  • application/vnd.kafka.v2+json

4.3.7.5. Produces

  • application/vnd.kafka.v2+json

4.3.7.6. Tags

  • Consumers
  • Seek

4.3.7.7. Example HTTP request

4.3.7.7.1. Request body
{
  "partitions" : [ {
    "topic" : "topic",
    "partition" : 0
  }, {
    "topic" : "topic",
    "partition" : 1
  } ]
}

4.3.7.8. Example HTTP response

4.3.7.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

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

4.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.

4.3.8.2. Parameters

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

4.3.8.3. Responses

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

4.3.8.4. Consumes

  • application/vnd.kafka.v2+json

4.3.8.5. Produces

  • application/vnd.kafka.v2+json

4.3.8.6. Tags

  • Consumers
  • Seek

4.3.8.7. Example HTTP request

4.3.8.7.1. Request body
{
  "partitions" : [ {
    "topic" : "topic",
    "partition" : 0
  }, {
    "topic" : "topic",
    "partition" : 1
  } ]
}

4.3.8.8. Example HTTP response

4.3.8.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

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

4.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.

4.3.9.2. Parameters

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

4.3.9.3. Responses

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

4.3.9.4. Produces

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

4.3.9.5. Tags

  • Consumers

4.3.9.6. Example HTTP response

4.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
} ]
[
  {
    "topic": "test",
    "key": "a2V5",
    "value": "Y29uZmx1ZW50",
    "partition": 1,
    "offset": 100,
  },
  {
    "topic": "test",
    "key": "a2V5",
    "value": "a2Fma2E=",
    "partition": 2,
    "offset": 101,
  }
]
4.3.9.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
4.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."
}
4.3.9.6.4. Response 422
{
  "error_code" : 422,
  "message" : "Response exceeds the maximum number of bytes the consumer can receive"
}

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

4.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.

4.3.10.2. Parameters

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

4.3.10.3. Responses

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

4.3.10.4. Consumes

  • application/vnd.kafka.v2+json

4.3.10.5. Produces

  • application/vnd.kafka.v2+json

4.3.10.6. Tags

  • Consumers

4.3.10.7. Example HTTP request

4.3.10.7.1. Request body
{
  "topics" : [ "topic1", "topic2" ]
}

4.3.10.8. Example HTTP response

4.3.10.8.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}
4.3.10.8.2. Response 409
{
  "error_code" : 409,
  "message" : "Subscriptions to topics, partitions, and patterns are mutually exclusive."
}
4.3.10.8.3. Response 422
{
  "error_code" : 422,
  "message" : "A list (of Topics type) or a topic_pattern must be specified."
}

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

4.3.11.1. Description

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

4.3.11.2. Parameters

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

4.3.11.3. Responses

HTTP CodeDescriptionSchema

200

List of subscribed topics and partitions.

SubscribedTopicList

404

The specified consumer instance was not found.

Error

4.3.11.4. Produces

  • application/vnd.kafka.v2+json

4.3.11.5. Tags

  • Consumers

4.3.11.6. Example HTTP response

4.3.11.6.1. Response 200
{
  "topics" : [ "my-topic1", "my-topic2" ],
  "partitions" : [ {
    "my-topic1" : [ 1, 2, 3 ]
  }, {
    "my-topic2" : [ 1 ]
  } ]
}
4.3.11.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

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

4.3.12.1. Description

Unsubscribes a consumer from all topics.

4.3.12.2. Parameters

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

4.3.12.3. Responses

HTTP CodeDescriptionSchema

204

Consumer unsubscribed successfully.

No Content

404

The specified consumer instance was not found.

Error

4.3.12.4. Tags

  • Consumers

4.3.12.5. Example HTTP response

4.3.12.5.1. Response 404
{
  "error_code" : 404,
  "message" : "The specified consumer instance was not found."
}

4.3.13. GET /healthy

4.3.13.1. Description

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

4.3.13.2. Responses

HTTP CodeDescriptionSchema

204

The bridge is healthy

No Content

500

The bridge is not healthy

No Content

4.3.14. GET /metrics

4.3.14.1. Description

Retrieves the bridge metrics in Prometheus format.

4.3.14.2. Responses

HTTP CodeDescriptionSchema

200

Metrics in Prometheus format retrieved successfully.

string

4.3.14.3. Produces

  • text/plain

4.3.15. GET /openapi

4.3.15.1. Description

Retrieves the OpenAPI v2 specification in JSON format.

4.3.15.2. Responses

HTTP CodeDescriptionSchema

204

OpenAPI v2 specification in JSON format retrieved successfully.

string

4.3.15.3. Produces

  • application/json

4.3.16. GET /ready

4.3.16.1. Description

Check if the bridge is ready and can accept requests.

4.3.16.2. Responses

HTTP CodeDescriptionSchema

204

The bridge is ready

No Content

500

The bridge is not ready

No Content

4.3.17. GET /topics

4.3.17.1. Description

Retrieves a list of all topics.

4.3.17.2. Responses

HTTP CodeDescriptionSchema

200

List of topics.

< string > array

4.3.17.3. Produces

  • application/vnd.kafka.v2+json

4.3.17.4. Tags

  • Topics

4.3.17.5. Example HTTP response

4.3.17.5.1. Response 200
[ "topic1", "topic2" ]

4.3.18. POST /topics/{topicname}

4.3.18.1. Description

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

4.3.18.2. Parameters

TypeNameDescriptionSchema

Path

topicname
required

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

string

Query

async
optional

Whether to return immediately upon sending records, instead of waiting for metadata. No offsets will be returned if specified. Defaults to false.

boolean

Body

body
required

 

ProducerRecordList

4.3.18.3. Responses

HTTP CodeDescriptionSchema

200

Records sent successfully.

OffsetRecordSentList

404

The specified topic was not found.

Error

422

The record list is not valid.

Error

4.3.18.4. Consumes

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

4.3.18.5. Produces

  • application/vnd.kafka.v2+json

4.3.18.6. Tags

  • Producer
  • Topics

4.3.18.7. Example HTTP request

4.3.18.7.1. Request body
{
  "records" : [ {
    "key" : "key1",
    "value" : "value1"
  }, {
    "value" : "value2",
    "partition" : 1
  }, {
    "value" : "value3"
  } ]
}

4.3.18.8. Example HTTP response

4.3.18.8.1. Response 200
{
  "offsets" : [ {
    "partition" : 2,
    "offset" : 0
  }, {
    "partition" : 1,
    "offset" : 1
  }, {
    "partition" : 2,
    "offset" : 2
  } ]
}
4.3.18.8.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic was not found."
}
4.3.18.8.3. Response 422
{
  "error_code" : 422,
  "message" : "The record list contains invalid records."
}

4.3.19. GET /topics/{topicname}

4.3.19.1. Description

Retrieves the metadata about a given topic.

4.3.19.2. Parameters

TypeNameDescriptionSchema

Path

topicname
required

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

string

4.3.19.3. Responses

HTTP CodeDescriptionSchema

200

Topic metadata

TopicMetadata

4.3.19.4. Produces

  • application/vnd.kafka.v2+json

4.3.19.5. Tags

  • Topics

4.3.19.6. Example HTTP response

4.3.19.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
    } ]
  } ]
}

4.3.20. GET /topics/{topicname}/partitions

4.3.20.1. Description

Retrieves a list of partitions for the topic.

4.3.20.2. Parameters

TypeNameDescriptionSchema

Path

topicname
required

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

string

4.3.20.3. Responses

HTTP CodeDescriptionSchema

200

List of partitions

< PartitionMetadata > array

404

The specified topic was not found.

Error

4.3.20.4. Produces

  • application/vnd.kafka.v2+json

4.3.20.5. Tags

  • Topics

4.3.20.6. Example HTTP response

4.3.20.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
  } ]
} ]
4.3.20.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic was not found."
}

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

4.3.21.1. Description

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

4.3.21.2. Parameters

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

Query

async
optional

Whether to return immediately upon sending records, instead of waiting for metadata. No offsets will be returned if specified. Defaults to false.

boolean

Body

body
required

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

ProducerRecordToPartitionList

4.3.21.3. Responses

HTTP CodeDescriptionSchema

200

Records sent successfully.

OffsetRecordSentList

404

The specified topic partition was not found.

Error

422

The record is not valid.

Error

4.3.21.4. Consumes

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

4.3.21.5. Produces

  • application/vnd.kafka.v2+json

4.3.21.6. Tags

  • Producer
  • Topics

4.3.21.7. Example HTTP request

4.3.21.7.1. Request body
{
  "records" : [ {
    "key" : "key1",
    "value" : "value1"
  }, {
    "value" : "value2"
  } ]
}

4.3.21.8. Example HTTP response

4.3.21.8.1. Response 200
{
  "offsets" : [ {
    "partition" : 2,
    "offset" : 0
  }, {
    "partition" : 1,
    "offset" : 1
  }, {
    "partition" : 2,
    "offset" : 2
  } ]
}
4.3.21.8.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic partition was not found."
}
4.3.21.8.3. Response 422
{
  "error_code" : 422,
  "message" : "The record is not valid."
}

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

4.3.22.1. Description

Retrieves partition metadata for the topic partition.

4.3.22.2. Parameters

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

4.3.22.3. Responses

HTTP CodeDescriptionSchema

200

Partition metadata

PartitionMetadata

404

The specified topic partition was not found.

Error

4.3.22.4. Produces

  • application/vnd.kafka.v2+json

4.3.22.5. Tags

  • Topics

4.3.22.6. Example HTTP response

4.3.22.6.1. Response 200
{
  "partition" : 1,
  "leader" : 1,
  "replicas" : [ {
    "broker" : 1,
    "leader" : true,
    "in_sync" : true
  }, {
    "broker" : 2,
    "leader" : false,
    "in_sync" : true
  } ]
}
4.3.22.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic partition was not found."
}

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

4.3.23.1. Description

Retrieves a summary of the offsets for the topic partition.

4.3.23.2. Parameters

TypeNameDescriptionSchema

Path

partitionid
required

ID of the partition.

integer

Path

topicname
required

Name of the topic containing the partition.

string

4.3.23.3. Responses

HTTP CodeDescriptionSchema

200

A summary of the offsets for the topic partition.

OffsetsSummary

404

The specified topic partition was not found.

Error

4.3.23.4. Produces

  • application/vnd.kafka.v2+json

4.3.23.5. Tags

  • Topics

4.3.23.6. Example HTTP response

4.3.23.6.1. Response 200
{
  "beginning_offset" : 10,
  "end_offset" : 50
}
4.3.23.6.2. Response 404
{
  "error_code" : 404,
  "message" : "The specified topic partition was not found."
}
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.