用途 该技能面向 Apache Kafka 的日常管理操作,借助 Confluent REST Proxy 提供的 HTTP 接口完成主题、消费者组和消息层面的操作,无需直接使用 Kafka 原生客户端。
主要能力
- 管理主题:列出所有主题;获取指定主题的详情,包括主题名称、分区数量以及配置信息。
- 生产消息:向指定主题发送 JSON 格式消息,消息记录可包含 key 与 value,接口返回各记录的 offset。
- 管理消费者:在指定消费者组下创建消费者实例,可配置实例名称、数据格式(如 json)以及 auto.offset.reset(如 earliest),返回 instance_id 与 base_uri。
- 消费消息:从指定消费者组下的消费者实例读取记录,展示 topic、key、value 与 offset。
使用方式 所有操作通过 curl 调用 Confluent REST Proxy 完成,默认地址为 http://localhost:8082。示例包括:
- 列出主题:curl -s "http://localhost:8082/topics" | jq '.[]'
- 获取主题详情:curl -s "http://localhost:8082/topics/TOPIC_NAME" | jq '{name, partitions: (.partitions | length), configs}'
- 生产消息:curl -s -X POST -H "Content-Type: application/vnd.kafka.json.v2+json" "http://localhost:8082/topics/TOPIC_NAME" -d '{"records":[{"key":"key1","value":{"message":"hello"}}]}' | jq '.offsets[]'
- 创建消费者:curl -s -X POST -H "Content-Type: application/vnd.kafka.v2+json" "http://localhost:8082/consumers/my-group" -d '{"name":"my-consumer","format":"json","auto.offset.reset":"earliest"}' | jq '{instance_id, base_uri}'
- 消费消息:curl -s -H "Accept: application/vnd.kafka.json.v2+json" "http://localhost:8082/consumers/my-group/instances/my-consumer/records" | jq '.[] | {topic, key, value, offset}'
适用场景 适用于需要通过 REST 接口快速查看或操作 Kafka 主题、消费者组与消息的场景,例如本地开发调试、验证消息生产与消费流程、检查主题分区与配置信息等。
限制 资料明确要求 Confluent REST Proxy 正在运行,默认端口为 8082。生产消息前必须始终确认。除上述内容外,资料未提供其他功能、权限、版本兼容性或运行环境等信息。