使用 Amazon Web Services WSDL 的最佳 python 肥皂堆栈是啥?

Posted

技术标签:

【中文标题】使用 Amazon Web Services WSDL 的最佳 python 肥皂堆栈是啥?【英文标题】:What's the best python soap stack for consuming Amazon Web Services WSDL?使用 Amazon Web Services WSDL 的最佳 python 肥皂堆栈是什么? 【发布时间】:2010-09-18 22:00:20 【问题描述】:

Python 有一个number of soap stacks;据我所知,都存在重大缺陷。

有没有人幸运地消费在 python 中使用 WSDL 用于 S3、EC2 和 SQS?

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

最后,我知道boto,但由于它是围绕 AWS 的手动包装器,因此 (1) 不完整且 (2) 从未与最新的 AWS WSDL 保持同步。

【问题讨论】:

【参考方案1】:

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

【讨论】:

这个问题已经有很长一段时间了;我认为这是最务实的回应,尽管它没有解决根本问题。从根本上说,python 对 SOAP 的支持是次要的。目前还没有真正可行的解决方案。【参考方案2】:

如果我没记错的话,您可以通过 REST 和 SOAP 使用 Amazon Web Services。将 REST 与 python 结合使用会更容易

【讨论】:

你会怎么做? WSDL 也不能描述 REST 绑定吗?【参考方案3】:

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

【讨论】:

也许吧,但首先看看我在我问的原始问题中对 boto 的评论。【参考方案4】:

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

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

-- 剪辑-- 端口 (1): (AmazonEC2Port) 方法(43): --- 为简洁起见删除了更多内容 ---

-马特

【讨论】:

以上是关于使用 Amazon Web Services WSDL 的最佳 python 肥皂堆栈是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Amazon Web Services 保守秘密密钥

BizTalk调用WS-Security的web services

帮助了解 Amazon Web Services 定价

使用 Amazon Web Services 自动安排 Scrapy Crawler

text 如何使用Apache,PHP,MySQL设置Amazon Web Services EC2实例

Amazon Web Services 开发人员用户权限