最好用哪个Python SOAP库来消费AWS WSDL?
Python有很多SOAP库,听说这些库都有不少问题。
有没有人成功在Python中使用WSDL来操作S3、EC2和SQS呢?
我的经验是,suds在创建客户端对象时会出错;经过一番折腾,ZSI生成的客户端代码也无法正常工作等等。
最后,我知道有一个叫boto的库,但它只是一个手动制作的AWS封装库,所以它(1)不完整,且(2)从来没有跟上最新的AWS WSDL。
4 个回答
0
你可以去看看 http://boto.googlecode.com。这是在Python中使用AWS(亚马逊网络服务)最好的方法。
2
如果我没记错的话,你可以通过REST和SOAP两种方式来使用亚马逊网络服务(AWS)。用Python来使用REST会简单得多。
4
REST或“查询”API确实比SOAP更容易使用,但不幸的是,至少有一个服务(EC2)没有提供SOAP以外的选择。正如你已经发现的那样,Python现有的SOAP实现对于大多数用途来说都非常不够用;一种解决方法是直接生成SOAP信封/主体的XML,而不是通过中间的SOAP层。如果你对XML/SOAP有一点了解,这在大多数情况下并不难,而且可以绕过对方SOAP实现中的一些特殊问题;这点非常重要,因为几乎每个SOAP框架都有自己独特的bug和怪异之处需要处理。