アマゾンウェブサービスのWSDLを使用するのに最適なPython SOAPスタックは何ですか?

StackOverflow https://stackoverflow.com/questions/231924

質問

Pythonには石鹸スタックの数;私が知る限りでは、すべてに重大な欠陥があります。

PythonでS3、EC2、およびSQSにWSDLを使用しておよびを消費した人はいますか?

私の経験では、Clientオブジェクトの構築時に泡が失敗します。いくつかの論争の後、ZSIは動作しないクライアントコードを生成します。など。

最後に、 boto を知っていますが、手巻きであるためAWSのラッパーです。(1)不完全であり、(2)最新のAWS WSDLで最新ではありません。

役に立ちましたか?

解決

RESTまたは「クエリ」 APIは間違いなくSOAPよりも使いやすいですが、残念ながら少なくとも1回はサービス(EC2)がSOAPに代わるものを提供していません。すでに発見したように、Pythonの既存のSOAP実装は、ほとんどの目的にはひどく不十分です。回避策の1つは、中間のSOAPレイヤーを経由するのではなく、SOAPエンベロープ/ボディのXMLを直接生成することです。 XML / SOAPにある程度精通していれば、ほとんどの場合これを行うのはそれほど難しくなく、反対側のSOAP実装で特定の特異性を回避できます。これは非常に重要です。SOAPスタックのほぼすべてに、独自のバグ/異様な味があります。

他のヒント

私が間違えなければ、RESTおよびSOAPを介してAmazon Webサービスを使用できます。 PythonでRESTを使用すると、ずっと簡単になります。

http://boto.googlecode.com をご覧ください。これはPythonでAWSを使用する最良の方法です。

FWIW、このAmazon WSDLをSuds 0.3.8で解析します:

url = ' http://s3.amazonaws。 com / ec2-downloads / 2009-04-04.ec2.wsdl '
c = Client(url)
print c

-切り取り-
   ポート(1):
      (AmazonEC2Port)
         メソッド(43):
---簡潔にするためにさらに削除---

-マット

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top