मैं नीचे दिखाए गए अनुसार वाइल्डकार्ड वाले पैटर्न का उपयोग करके काफ्का की सदस्यता ले रहा हूं। वाइल्डकार्ड गतिशील ग्राहक आईडी का प्रतिनिधित्व करता है।काफ्का-पायथन का उपयोग करके एकाधिक कफका वाइल्डकार्ड पैटर्न की सूची में कैसे सदस्यता लें?
consumer.subscribe(pattern='customer.*.validations')
यह अच्छी तरह से काम करता है, क्योंकि मैं विषय आईडी से ग्राहक आईडी को निकाल सकता हूं। लेकिन अब मुझे थोड़ा अलग उद्देश्य के लिए एक समान विषय सुनने के लिए कार्यक्षमता पर विस्तार करने की आवश्यकता है। आइए इसे customer.*.additional-validations
पर कॉल करें। कोड को उसी प्रोजेक्ट में रहने की आवश्यकता है क्योंकि बहुत अधिक कार्यक्षमता साझा की जाती है, लेकिन मुझे कतार के प्रकार के आधार पर एक अलग पथ लेने में सक्षम होना चाहिए।
Kafka documentation में मैं देख सकता हूं कि विषयों की एक श्रृंखला की सदस्यता लेना संभव है। हालांकि ये हार्ड-कोड वाले तार हैं। पैटर्न नहीं जो लचीलापन की अनुमति देते हैं।
>>> # Deserialize msgpack-encoded values
>>> consumer = KafkaConsumer(value_deserializer=msgpack.loads)
>>> consumer.subscribe(['msgpackfoo'])
>>> for msg in consumer:
... assert isinstance(msg.value, dict)
तो मुझे आश्चर्य है कि किसी भी तरह से दोनों का संयोजन करना संभव है? एक तरह से यह (गैर काम कर रहे) की तरह:
consumer.subscribe(pattern=['customer.*.validations', 'customer.*.additional-validations'])
धन्यवाद! यह वाक्यविन्यास बहुत अच्छा काम करता है। –