使用Amazon Web Services WSDL的最佳python soap堆是什么?

时间:2008-10-23 23:20:38

标签: python soap wsdl amazon-web-services amazon

Python有一个number of soap stacks;尽可能地说,所有都有很多缺陷。

有没有人在python中使用WSDL for S3,EC2和SQS消耗

我的经验是suds在构造Client对象时失败了;经过一番争吵之后,ZSI会生成不起作用的客户端代码;等

最后,我知道boto,但由于它是围绕AWS的手动包装,它是(1)不完整的,(2)永远不会与最新的AWS WSDL保持同步。 / p>

4 个答案:

答案 0 :(得分:3)

REST或“查询”API肯定比SOAP更容易使用,但不幸的是,至少一次服务(EC2)不提供SOAP的任何替代方案。正如您已经发现的那样,Python的现有SOAP实现在大多数情况下都是不合适的;一种解决方法是直接为SOAP信封/主体生成XML,而不是通过中间SOAP层。如果您对XML / SOAP有点熟悉,那么在大多数情况下这并不难做到,并且允许您在另一端使用SOAP实现来解决任何特定的特性。这可能非常重要,因为几乎每个SOAP堆栈都有自己的bugginess /怪异的风格来应对。

答案 1 :(得分:1)

如果我没弄错的话,你可以通过REST和SOAP来使用Amazon Web Services。使用REST与python将更多更容易。

答案 2 :(得分:0)

结帐http://boto.googlecode.com。这是在Python中使用AWS的最佳方式。

答案 3 :(得分:0)

FWIW,我使用Suds 0.3.8解析这个Amazon WSDL:

url ='http://s3.amazonaws.com/ec2-downloads/2009-04-04.ec2.wsdl'
c =客户(网址)
打印c

- 剪辑 -
   港口(1):
      (AmazonEC2Port)
         方法(43):
---为了简洁起见,删除了很多---

-Matt