Поддержка 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).

Другие вопросы по тегам