2017-07-06 19 views
0

當嘗試使用kafka-python爲Python卡夫卡蟒SSL支持<v2.7.9(沒有屬性 '的SSLContext')

即時得到下面的錯誤與SSL連接到卡夫卡:

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' 

我有上(Debian的7喘息)從python v2.7.9

加入
ssl.SSLContex屬性運行python v2.7.3似乎對kafka-python了SSL支持是前奏由v1.1.0 製作,但由於ssl.SSLContext的使用,它需要python版本> = v2.7.9, 。

有沒有辦法使用低版本的python和kafka-python啓動與ssl的連接?
或以某種方式繞過這個?

也許有人可以建議另一個支持ssl連接到kafka並支持python版本的軟件包版本= < 2.7.3。

回答

0

不,沒有辦法與kafka-python做到這一點,除非你自己修補它。相反,我強烈建議升級到較新版本的python 2.7,因爲該版本的python 2.7相當陳舊,並且可能存在多個安全漏洞(如果您嘗試使用SSL,我認爲這一點很重要。)