Do tej pory nie widziałem klienta Pythona, który implementuje tworzenie tematu jawnie bez użycia opcji konfiguracji do automatycznego tworzenia tematów.Jak utworzyć temat w kafejce Apache za pomocą pythona
Odpowiedz
Wydaje się, że nie ma api serwer Kafka stworzyć wątek, więc trzeba użyć temat automatycznego tworzenia lub narzędzia wiersza poleceń:
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test
Wygląda na to, można użyć następujących do upewnić się, że temat już istnieje (zakładam, że używasz następujące kafka python wdrożenia):
client = KafkaClient(...)
producer = KafkaProducer(...)
client.ensure_topic_exists('my_new_topic')
producer.send_messages('my_new_topic', ...)
jest już zbyt późno. Nie wiem o poleceniu do jawnego tworzenia tematów, ale poniższe tworzy i dodaje komunikaty.
I stworzył producent pyton Kafka:
prod = KafkaProducer(bootstrap_servers='localhost:9092')
for i in xrange(1000):
prod.send('xyz', str(i))
Na liście tematów Kafka xyz
nie było tam wcześniej. kiedy wykonałem powyższą metodę, klient Python-kafka utworzył go i dodał do niego wiadomości.
Właściwie broker utworzył temat i tylko dlatego, że auto.topic.create.enable zostało ustawione na "true" . Wszystkie utworzone w ten sposób tematy będą miały domyślną konfigurację, ale mogą nie być dobre dla Twojego przypadku użycia. –
AdminClient API potrzebne do zrobienia programowe tworzenie i konfigurację temat został właśnie dodany w Kafka 0,11 (początkowo dla Java)
Oczekuje się, że nie-Java biblioteki klienta doda tę funkcję jako z czasem. Sprawdź u autora klienta Kafka Python używanego (jest ich kilka), aby zobaczyć, czy i kiedy KIP-4 Administrator obsługa protokołu będzie w API
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
topic = 'topic-name'
producer.send(topic, final_list[0]).get(timeout=10)
- 1. Uruchamianie Pythona z virtualenv za pomocą Apache/mod_wsgi, na Windows
- 2. Jak wykonać uwierzytelnianie za pomocą certyfikatu klienta za pomocą Apache
- 3. Jak utworzyć SVG za pomocą JFreeChart?
- 4. Parsowanie SQL za pomocą Pythona
- 5. Jak utworzyć kopię iteratora Pythona?
- 6. Jak utworzyć podzapytanie za pomocą Laravel Eoquent?
- 7. Jak zdefiniować metakl Pythona za pomocą Boost.Python?
- 8. Jak ustawić nagłówki za pomocą urllib Pythona?
- 9. Jak usunąć obiekt Json za pomocą Pythona?
- 10. Jak zapętlić pliki za pomocą Pythona?
- 11. Jak miksować pliki audio za pomocą Pythona?
- 12. Jak przetestować klienta API za pomocą Pythona?
- 13. Jak przesuwać komputer za pomocą Pythona
- 14. Przekierowanie wejścia za pomocą pythona
- 15. Jak utworzyć "Aliasy" w Apache Tomcat?
- 16. Jak odczytać krotkę Pythona za pomocą PyYAML?
- 17. Jak zamontować katalog sieciowy za pomocą pythona?
- 18. Jak zmienić katalog za pomocą Pythona pathlib
- 19. Wykrywanie anomalii za pomocą Pythona
- 20. Narysuj teren za pomocą pythona?
- 21. Zastępowanie tekstu w pliku za pomocą Pythona
- 22. Utwórz bazę danych Postgres za pomocą pythona
- 23. Zastąpienie podciągu napisu za pomocą Pythona
- 24. Interfejs ze zdalnymi komputerami za pomocą Pythona
- 25. Skrobanie ekranu za pomocą Pythona
- 26. Jak utworzyć układ obramowania za pomocą css?
- 27. Jak utworzyć aplikację internetową za pomocą LISP?
- 28. Jak utworzyć podbarwę NSArray za pomocą NSRange?
- 29. Jak utworzyć folder za pomocą szablonu .tt?
- 30. Jak utworzyć dokument XML za pomocą XmlDocument?
To nie będzie działać . 'ensure_topic_exists' działa tylko z włączonym automatycznym tworzeniem tematu. https://github.com/mumrah/kafka-python/blob/cd81cf0ec8c1b7e7651374c5d1cbd105d003d352/kafka/client.py#L305-L306 – zackdever