消费者发送心跳到服务端

如果在超时时间段内,消费组没有收到心跳,消费者将被删除。使用ConsumerGroupHeartBeat接口向消费组发送心跳请求,确保消费者不被删除。

前提条件

您已完成以下操作:

参数说明

def heart_beat(self, project, logstore, consumer_group, consumer, shards=None):

请求参数

参数

类型

是否必填

说明

project

String

Project的名称。

logstore

String

Logstore的名称。

consumer_group

String

消费组的名称,在Logstore下唯一。

consumer

String

消费者名称。

shards

List

消费者维持心跳的Shard ID列表,比如可同时为Shard 0和Shard 1维持心跳。

返回参数

请参见ConsumerGroupHeartBeat - 消费者发送心跳到服务端

示例代码

from aliyun.log import LogClient
import os

# 本示例从环境变量中获取AccessKey ID和AccessKey Secret
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')

# 日志服务的服务接入点
endpoint = "cn-hangzhou.log.aliyuncs.com"

client = LogClient(endpoint, access_key_id, access_key_secret)

# Project名称
project = "project-1"

# Logstore 名称
logstore = "logstore-1"

# consumer_group 名称
consumer_group = "consumer_group_test"

# shard的id列表
shards = [0, 1]

# 消费者名称
consumer = ''

try:
    # 创建指定 Project 的 Consumer Group
    response = client.heart_beat(project, logstore, consumer_group, consumer, shards=None)
    response.log_print()
except Exception as e:
    print(f"An error occurred while creating the consumer group: {e}")

示例返回结果

ListHeartBeat:
headers: {'Server': 'AliyunSLS', 'Content-Type': 'application/json', 'Content-Length': '5', 'Connection': 'keep-alive', 'Access-Control-Allow-Origin': '*', 'Date': 'Fri, 25 Oct 2024 02:46:56 GMT', 'x-log-time': '1729824416', 'x-log-requestid': '671B06A0EE24B0B90621558E'}
shards: [0, 1]

相关文档