【发布时间】:2021-10-10 02:58:58
【问题描述】:
当试图让AIOKafkaConsumer 开始从特定偏移量starting_offset 读取消息时,我们如何知道要使用哪个分区?
我正在尝试使用AIOKafkaConsumer.seek 方法,但它需要在其中指定TopicPartition。
import asyncio
from aiokafka import AIOKafkaConsumer, AIOKafkaProducer
async def main():
topic = "test"
starting_offset = 3
# Publish some messages
producer = AIOKafkaProducer(bootstrap_servers="localhost:29092")
await producer.start()
for i in range(10):
await producer.send_and_wait(topic, bytes(f"hello {i}", "utf-8"))
# Start consuming from a specific offset
consumer = AIOKafkaConsumer(topic, bootstrap_servers="localhost:29092")
await consumer.start()
consumer.seek(None, starting_offset)
while True:
message = await consumer.getone()
print("message:", message.value)
if __name__ == "__main__":
asyncio.run(main())
【问题讨论】:
标签: python apache-kafka python-asyncio kafka-consumer-api aiokafka