Поддержка kafka-python ssl для python <v2.7.9 (без атрибута 'SSLContext')
При попытке подключиться с ssl к kafka используя kafka-python
Я получаю следующую ошибку:
Traceback (most recent call last):
File "server.py", line 23, in <module>
kafka_producer = SimpleKafkaProducer()
File "/my-service/kafka_producer.py", line 28, in __init__
self.producer = KafkaProducer(**kafka_config)
File "./ve/lib/python2.7/site-packages/kafka/producer/kafka.py", line 266, in __init__
client = KafkaClient(**self.config)
File "./ve/lib/python2.7/site-packages/kafka/client_async.py", line 130, in __init__
self._bootstrap(collect_hosts(self.config['bootstrap_servers']))
File "./ve/lib/python2.7/site-packages/kafka/client_async.py", line 158, in _bootstrap
bootstrap.connect()
File "./ve/lib/python2.7/site-packages/kafka/conn.py", line 149, in connect
self._wrap_ssl()
File "./ve/lib/python2.7/site-packages/kafka/conn.py", line 207, in _wrap_ssl
self._ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) # pylint: disable=no-member
AttributeError: 'module' object has no attribute 'SSLContext'
я имею python v2.7.3
работает (Debian 7 wheezy) ssl.SSLContex
атрибут был добавлен из python v2.7.9
похоже, что поддержка ssl kafka-python
был введен с v1.1.0, но требует версии Python >= v2.7.9, из-за ssl.SSLContext
использовать.
Есть ли способ инициировать соединение с SSL, используя более низкую версию Python и kafka-python
?
или как-то обойти это?
Может быть, кто-то может предложить другой пакет, который поддерживает ssl-соединение с kafka и поддерживает версию python =< 2.7.3.
1 ответ
Нет, это невозможно сделать с kafka-python
если вы не исправите это сами. Вместо этого я настоятельно рекомендую перейти на более новую версию python 2.7, поскольку эта версия python 2.7 довольно старая и, вероятно, имеет множество уязвимостей (что, я полагаю, имеет значение для вас, если вы пытаетесь использовать SSL).