Какой лучший стек мыла 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 было бы намного проще.
Ответ 3
Отъезд http://boto.googlecode.com. Это лучший способ использовать AWS в 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):
--- Гораздо более удаленные для краткости ---
Матф