6.2.3. 生成到主题和分区的消息
接下来,使用主题端点以 JSON 格式生成消息到 主题。您可以在请求正文中为消息指定目的地分区,如下所示。分区 端点 提供了一种备选方法,用于指定所有消息的单一目标分区,作为路径参数。
流程
在文本编辑器中,为带有三个分区的 Kafka 主题创建 YAML 定义。
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaTopic metadata: name: bridge-quickstart-topic labels: strimzi.io/cluster: <kafka-cluster-name> 1 spec: partitions: 3 2 replicas: 1 config: retention.ms: 7200000 segment.bytes: 1073741824
-
将文件保存到 example
/topic
目录中,作为bridge-quickstart-topic.yaml
。 在 OpenShift 集群中创建主题:
oc apply -f examples/topic/bridge-quickstart-topic.yaml
使用 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 将返回一个
偏移数组
,以及200
代码和内容类型
标头application/vnd.kafka.v2+json
。对于每条消息,偏移
阵列描述:- 消息发送到的分区
分区的当前消息偏移
响应示例
#... { "offsets":[ { "partition":0, "offset":0 }, { "partition":2, "offset":0 }, { "partition":0, "offset":1 } ] }
接下来要做什么
在向主题和分区生成消息后,创建一个 Kafka 网桥使用者。
其它资源
- API 参考文档中的 POST /topics/{topicname}。
- API 参考文档中的 POST /topics/{topicname}/partitions/{partitionid}。