12.2.2. 生成到主题和分区的消息
使用 主题 端点以 JSON 格式生成消息。
您可以在请求正文中为消息指定目的地分区,如下所示。分区 端点 提供了一种备选方法,用于指定所有消息的单一目标分区,作为路径参数。
流程
使用
kafka-topics.sh
实用程序创建 Kafka 主题:bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic bridge-quickstart-topic --partitions 3 --replication-factor 1 --config retention.ms=7200000 --config segment.bytes=1073741824
指定三个分区。
验证该主题是否已创建:
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic bridge-quickstart-topic
使用 Kafka Bridge,为您创建的主题生成三个信息:
curl -X POST \ http://localhost:8080/topics/bridge-quickstart-topic \ -H 'content-type: application/vnd.kafka.json.v2+json' \ -d '{ "records": [ { "key": "my-key", "value": "sales-lead-0001" }, { "value": "sales-lead-0002", "partition": 2 }, { "value": "sales-lead-0003" } ] }'
-
sales-lead-0001
根据密钥的散列发送到分区。 -
sales-lead-0002
直接发送到分区 2。 -
sales-lead-0003
使用循环方法发送到bridge-quickstart-topic
主题中的分区。
-
如果请求成功,Kafka Bridge 会返回
offsets
数组,以及200
(OK)代码和content-type
标头application/vnd.kafka.v2+json
。对于每个消息,offsets
数组描述:- 消息发送到的分区
分区的当前消息偏移
响应示例
#... { "offsets":[ { "partition":0, "offset":0 }, { "partition":2, "offset":0 }, { "partition":0, "offset":1 } ] }
接下来要做什么
在向主题和分区生成消息后,创建一个 Kafka 网桥使用者。
其它资源
- API 参考文档中的 POST /topics/{topicname}。
- API 参考文档中的 POST /topics/{topicname}/partitions/{partitionid}。