2013-06-21 23 views
9

Boto'dan nasıl tanılama yapabilirim? Tüm sahip olduğum gibi çirkin bir işe yaramaz "400 Kötü İstek" dir. Boto'nun temel API’nın sunabileceği şeyden geçtiğini biliyorum, ancak mutlaka "Kötü İstek" ten daha faydalı bir şey elde etmenin bir yolu var.Boto'dan nasıl tanılama yapabilirim?

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

'import boto; boto.set_stream_logger ('boto') ', konsolda yaşanan hataları içeren json sonuçlarını yazdıracaktır. – ecoe

cevap

6

Sen configure the boto.cfg dosya daha ayrıntılı olarak yapabilirsiniz:

[Boto] 
debug = 2 

ayıklama: boto kütüphanesi tarafından basılacak ayıklama mesajlarının seviyesini kontrol eder.

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

Daha fazla bilgi vermez. Sorun şu ki, geri gelen HTTP cevabı sadece vücutta "400 Kötü İstek" var. Gerçekten ihtiyacım olan şey, sunucunun neyin yanlış gittiğine dair daha fazla bilgi vermesi için bir yol. –

+0

Koddan, bu bilgiyi bağlantı başına temelinde açabilirsiniz. Örnek? – dfrankow

5

Ben yapılandırma dosyasında hata ayıklama ayarı koyarak çok şans yoktu, ama ec2.connect_to_region() yapılan çağrı, aynı değerlerle, bir hata ayıklama parametre alır: Aşağıdaki değerler tanımlanır j0nes'in cevabı gibi.

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

Bağlantı nesnesi gönderdiği/aldığı her şey stdout'a dökülecektir.

İlgili konular