【问题标题】: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 保持同步。

【问题讨论】:

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


    【解决方案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):
    --- 为简洁起见删除了更多内容 ---

    -马特

    【讨论】:

      猜你喜欢
      • 2020-06-12
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多