如果在超时时间段内,消费组没有收到心跳,消费者将被删除。使用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维持心跳。 |
返回参数
示例代码
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]
相关文档
文档内容是否对您有帮助?