2016-02-18 11 views
6

मै मैक पर एडब्ल्यूएस सीएलआई चलाने की कोशिश कर रहा हूं। मैं आईओटी-डेटा एपीआई का उपयोग करके छाया स्थिति को पढ़ने/लिखने की कोशिश कर रहा हूं। आदेश वास्तव में सही ढंग से काम कर रहा है, लेकिन यह हर बार ओपनएसएसएल/टीएलएस त्रुटि फेंकता है।एडब्ल्यूएस सीएलआई आईओटी एपीआई के साथ ओपनएसएसएल त्रुटि को कैसे ठीक करें?

$ aws iot-data get-thing-shadow --thing-name "my-thing-20160209" my-thing-20160209.json 

/usr/local/Cellar/awscli/1.10.1/libexec/vendor/lib/python2.7/site-packages/botocore/handlers.py:574: UnsupportedTLSVersionWarning: Currently installed openssl version: OpenSSL 0.9.8zg 14 July 2015 does not support TLS 1.2, which is required for use of iot-data. Please use python installed with openssl version 1.0.1 or higher. 
    UnsupportedTLSVersionWarning 

यहां एडब्ल्यूएस संस्करण है।

aws-cli/1.10.1 Python/2.7.10 Darwin/14.5.0 botocore/1.3.23

आप देख सकते हैं, मैं सभी स्थापित करने के लिए Homebrew इस्तेमाल किया। ओपनएसएसएल और पायथन सही ढंग से जुड़े हुए हैं। मुझे ओपनएसएसएल 0.9.8zg संदर्भित मेरे सिस्टम पर कुछ भी नहीं मिल रहा है, और पायथन सही ओपनएसएसएल संस्करण लोड करता है। https://forums.aws.amazon.com/thread.jspa?messageID=690051#690051

, क्योंकि मैं वास्तव में छाया राज्य कुछ और की वजह से त्रुटि होना चाहिए प्राप्त कर सकते हैं हालांकि:

$ python -c 'import ssl; print ssl.OPENSSL_VERSION' 
OpenSSL 1.0.2f 28 Jan 2016 

वहाँ कुछ संकेत है कि अन्य कारकों त्रुटि को ट्रिगर हो सकता है।

कोई भी विचार जो इस त्रुटि को उत्पन्न कर सकता है?

अपडेट: 2016/09/15 अजगर की जानकारी भी शामिल है

$ head $(which aws) 
#!/bin/bash 
PYTHONPATH="/usr/local/Cellar/awscli/1.10.51/libexec/lib/python2.7/site-packages:/usr/local/Cellar/awscli/1.10.51/libexec/vendor/lib/python2.7/site-packages" exec "/usr/local/Cellar/awscli/1.10.51/libexec/bin/aws" "[email protected]" 
+0

कौन सा अजगर दुभाषिया आप उपयोग कर रहे हैं? जैसे हेड $ (जो aws) – vielmetti

उत्तर

1

के बाद से ओएस एक्स अपनी ही अजगर और openssl lib है, ऐसा लगता है कि awscli अपने पीसा संस्करणों के बजाय उन्हें संदर्भित कर रहा है। मुझे लगता है कि (ए) होम-ब्रू के सीएम लिंक वास्तव में सही नहीं हैं या (बी) होम-ब्रू पायथन ब्रूड ओपनस्ल संस्करण से जुड़ा नहीं है (इसलिए awscli सिस्टम को खोलता है libsl lib, लेकिन जब आप मैन्युअल रूप से lib आयात करें, आपको अधिक अद्यतित संस्करण मिल जाएगा)।

मैं अद्यतन होता OpenSSL, अपने संपर्कों के लिए मजबूर और इतने की तरह अजगर फिर से स्थापित:

brew update 
brew install openssl 
brew link openssl --force 

brew install python --with-brewed-openssl 
+0

मुझे याद नहीं है अगर मैंने कोशिश की तो मैं कदमों के माध्यम से जा रहा हूं। अभी, मुझे त्रुटि मिल रही है: "चेतावनी: लिंक करने से इंकार कर रहा है: openssl लिंकिंग केईजी-केवल ओपनएसएल का मतलब है कि आप असुरक्षित के खिलाफ लिंकिंग समाप्त कर सकते हैं ..." ऐसा लगता है कि मुझे कुछ चर परिभाषित करने की आवश्यकता हो सकती है https: // github.com/dotnet/cli/issues/3964 – jedatu

+0

हम्म, यह अजीब है। क्या आपने पेंटिंग के साथ awscli स्थापित करके पेंटिंग पर विचार किया है? – gregory

संबंधित मुद्दे