Какой лучший стек мыла python для использования WSDL Web-сервисов Amazon?

Python имеет количество мыльных стеков; насколько я могу судить, все имеют существенные недостатки.

Кому-нибудь повезло с помощью и с использованием WSDL для S3, EC2 и SQS в python?

Мой опыт заключается в том, что при создании объекта Client пена не работает; после некоторых споров, ZSI генерирует клиентский код, который не работает; и др.

Наконец, я знаю boto, но поскольку это ручная обертка вокруг AWS, это (1) неполный и (2) никогда не обновляется с последним AWS WSDL.

Ответы

Ответ 1

API REST или "Query" определенно проще в использовании, чем SOAP, но, к сожалению, по крайней мере, как только служба (EC2) не предоставляет никаких альтернатив SOAP. Как вы уже обнаружили, существующие реализации SOAP на Python для большинства целей крайне неадекватны; один подход к обходу - это просто генерировать XML для оболочки/тела SOAP напрямую, а не проходить через промежуточный слой SOAP. Если вы знакомы с XML/SOAP, это не так сложно сделать в большинстве случаев и позволяет вам работать с любыми конкретными особенностями с реализацией SOAP на другом конце; это может быть очень важно, так как почти каждый стек SOAP имеет свой собственный вкус жужжания/странности, с которым можно бороться.

Ответ 2

Если я не ошибаюсь, вы можете использовать Amazon Web Services через REST, а также SOAP. использование REST с python было бы намного проще.

Ответ 4

FWIW, я получаю этот Amazon WSDL для разбора с Suds 0.3.8:

url = 'http://s3.amazonaws.com/ec2-downloads/2009-04-04.ec2.wsdl'
c = Клиент (url)
print c

- snip -
 Порты (1):
    (AmazonEC2Port)
       Методы (43):
--- Гораздо более удаленные для краткости ---

Матф