1. 接口描述
本接口(GetGroupInfo)用于在用户账户下获取 CKafka 消费分组详细信息。
接口请求域名:ckafka.api.qcloud.com
2. 输入参数
以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。
参数名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
instanceId | 是 | String | (过滤条件)按照实例 ID 过滤。 |
group.N | 是 | String | Kafka 消费分组,Consumer-group,这里是数组形式,格式:group.0=xxx&group.1=yyy。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
data | JSON Array | 本次接口返回的消费分组信息 |
data::group | String | Kafka 消费分组 |
data::err_code | Int | 错误码,正常为0 |
data::state | String | group 状态描述(常见的为 Empty、Stable、Dead 三种状态): Dead:消费分组不存在 Empty:消费分组,当前没有任何消费者订阅 PreparingRebalance:消费分组处于 rebalance 状态 CompletingRebalance:消费分组处于 rebalance 状态 Stable:消费分组中各个消费者已经加入,处于稳定状态 |
data::protocol_type | String | 消费分组选择的协议类型正常的消费者一般为 consumer 但有些系统采用了自己的协议如 kafka-connect 用的就是 connect。只有标准的 consumer 协议,本接口才知道具体的分配方式的格式,才能解析到具体的 partition 的分配情况 |
data::protocol | String | 消费者 partition 分配算法常见的有如下几种(Kafka 消费者 SDK 默认的选择项为 range):range、 roundrobin、 sticky |
data::members | JSON Array | 仅当 state 为 Stable 且 protocol_type 为 consumer 时, 该数组才包含信息 |
data::members::member_id | String | coordinator 为消费分组中的消费者生成的唯一 ID |
data::members::client_id | String | 客户消费者 SDK 自己设置的 client.id 信息 |
data::members::client_host | String | 一般存储客户的 IP 地址 |
data::members::assignment | JSON Array | 存储着分配给该消费者的 partition 信息 |
data::members::assignment::version | JSON Array | assingment 版本信息 |
data::members::assignment::topic | String | 分配的 topic 名称 |
data::members::assignment::partitions | Array | 分配的 partition 信息 |
4. 示例
输入:
https://domain/v2/index.php?Action=GetGroupInfo&<公共请求参数>
输出:
{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": [{
"err_code": 0,
"state": "Stable",
"protocol_type": "consumer",
"protocol": "range",
"members": [{
"member_id": "consumer-1-/10.53.88.65-2018-08-10 10:17:19:639-88206ef1-9248-43a0-9ff4-e22c3ab21e92",
"client_id": "consumer-1",
"client_host": "/10.53.88.65",
"assignment": {
"version": 0,
"topics": [{
"topic": "test",
"partitions": [
0
]
}]
}
}],
"group": "perf-consumer-97910"
}]
}