调用 ConsumerHeartbeat 接口向日志服务发送消费组中的一个消费者的心跳信息。
此接口用于向日志服务服务端上报消费组中的一个消费者的心跳信息,表示该消费者为在线状态。服务端接收到此请求后,会根据此消费组的消费者数量、订阅日志主题的分区数量,为该消费者均衡分配日志分区,并返回指定消费者所负责消费的日志分区(Shards)信息。
每个活跃的消费者都应定期上报心跳信息,上报时间间隔不得超过心跳过期时间(HeartbeatTTL),否则服务端会将其视为下线。
此接口的调用频率限制为 20 次/s,超出频率限制会报错 ExceedQPSLimit。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
ProjectID | String | 是 | c7****** | 消费组所属的日志项目 ID。 |
ConsumerGroupName | String | 是 | my-consumer-group | 消费组名称。 |
ConsumerName | String | 是 | consumer-0 | 指定消费组中的新消费者名称。命名规则请参考资源命名规则。 |
下表仅列出本接口特有的返回参数。更多信息请参见返回结构。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Shards | Array of ConsumeShard | { "TopicID": "e6********", "ShardID": 1 } | 服务端为指定消费者分配的日志分区列表。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
ShardID | Integer | 0 | 日志分区 ID。 |
TopicID | String | c7****** | 日志主题 ID。 |
POST https://tls-{Region}.ivolces.com/ConsumerHeartbeat HTTP/1.1 Content-Type: application/json { "ProjectID": "c7************", "ConsumerGroupName": "my-consumer-group", "ConsumerName": "consumer-0" }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "Shards": [ { "TopicID": "e6********", "ShardID": 0 }, { "TopicID": "e6********", "ShardID": 1 }, ] }
下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。
HTTP 状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
400 | InvalidArgument | Invalid argument key %s, value %s, please check argument. | 参数不合法。 |
500 | InternalServerError | We encountered an unexpected server error, please try again later. | 服务器内部错误。 |