2013-06-21 5 views
9

मैं बोटो से उपयोगी निदान कैसे प्राप्त कर सकता हूं? मुझे लगता है कि मैं कभी भी बेकार बेकार "400 खराब अनुरोध" प्राप्त करता हूं। मैं मानता हूं कि अंतर्निहित एपीआई उपलब्ध कराने के साथ ही बोटो बस गुजर रहा है, लेकिन निश्चित रूप से "खराब अनुरोध" से कुछ और उपयोगी पाने का कोई तरीका है।मैं बोटो से उपयोगी निदान कैसे प्राप्त करूं?

Traceback (most recent call last): 
    File "./mongo_pulldown.py", line 153, in <module> 
    main() 
    File "./mongo_pulldown.py", line 24, in main 
    print "snap = %r" % snap 
    File "./mongo_pulldown.py", line 149, in __exit__ 
    self.connection.delete_volume(self.volume.id) 
    File "/home/roy/deploy/current/python/local/lib/python2.7/site-packages/boto/ec2/connection.py", line 1507, in delete_volume 
    return self.get_status('DeleteVolume', params, verb='POST') 
    File "/home/roy/deploy/current/python/local/lib/python2.7/site-packages/boto/connection.py", line 985, in get_status 
    raise self.ResponseError(response.status, response.reason, body) 
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request 
+0

'आयात बोटो; boto.set_stream_logger ('boto') 'कंसोल के लिए अनुभवी किसी भी त्रुटि सहित जेसन परिणाम प्रिंट करेगा। – ecoe

उत्तर

6

आप configure the boto.cfg फ़ाइल अधिक वर्बोज़ होना करने के लिए कर सकते हैं:

[Boto] 
debug = 2 

डिबग: डिबग संदेश जो Boto पुस्तकालय द्वारा प्रिंट किया जाएगा के स्तर को नियंत्रित करता है। निम्न मान परिभाषित कर रहे हैं:

0 - no debug messages are printed 
1 - basic debug messages from boto are printed 
2 - all boto debugging messages plus request/response messages from httplib 
+1

यह कोई और जानकारी नहीं देता है। समस्या यह है कि वापस आने वाली HTTP प्रतिक्रिया में शरीर में "400 खराब अनुरोध" है। मुझे वास्तव में क्या चाहिए, सर्वर को गलत होने के बारे में अधिक जानकारी देने के लिए कुछ तरीका है। –

+0

कोड से, ऐसा लगता है कि कोई व्यक्ति इस जानकारी को प्रति कनेक्शन आधार पर चालू कर सकता है। उदाहरण? – dfrankow

5

मैं कॉन्फ़िग फ़ाइल में डिबग सेटिंग डालने के साथ बहुत किस्मत नहीं था, लेकिन ec2.connect_to_region() करने के लिए कॉल एक ही मूल्यों के साथ एक डिबग पैरामीटर लेता है, जैसा कि j0nes 'उत्तर में है।

ec2 = boto.ec2.connect_to_region("eu-west-1", debug=2) 

सब कुछ है कि कनेक्शन वस्तु/भेजता प्राप्त करता stdout में फेंक दिया हो जाएगा।

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