Python有一个number of soap stacks;尽可能地说,所有都有很多缺陷。
有没有人在python中使用WSDL for S3,EC2和SQS消耗和?
我的经验是suds在构造Client对象时失败了;经过一番争吵之后,ZSI会生成不起作用的客户端代码;等
最后,我知道boto,但由于它是围绕AWS的手动包装,它是(1)不完整的,(2)永远不会与最新的AWS WSDL保持同步。 / p>
答案 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