全部產品
Search
文件中心

Simple Log Service:消費者發送心跳到服務端

更新時間:Dec 26, 2024

如果在逾時時間段內,消費組沒有收到心跳,消費者將被刪除。使用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', '')

# Log Service的服務存取點
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]

相關文檔