Pergunta

Python tem um número de pilhas de sabão ; tão perto quanto eu posso dizer, todos têm defeitos substanciais.

Alguém já teve sorte consumir e usando WSDL para o S3, EC2 e SQS em python?

A minha experiência é que espuma falha ao construir um objeto Cliente; depois de algumas discussões, ZSI gera código de cliente que não funciona; etc.

Finalmente, eu estou ciente de boto mas como é uma mão-rolada invólucro em torno AWS, é (1) incompleto e (2) não up-to-date com as últimas AWS WSDL.

Foi útil?

Solução

O resto ou APIs "query" são definitivamente mais fácil de usar do que SOAP, mas, infelizmente, pelo menos uma vez serviço (EC2) não fornece quaisquer alternativas para SOAP. Como você já descobriu, implementações de SOAP existentes do Python são totalmente inadequados para a maioria dos fins; Uma abordagem alternativa é apenas gerar o XML para o envelope SOAP / corpo diretamente, em vez de ir através de uma camada de sabão intermediária. Se você é um pouco familiarizado com XML / SOAP, isso não é muito difícil de fazer na maioria dos casos, e permite-lhe contornar quaisquer idiossincrasias particulares com a implementação de SOAP na outra extremidade; isso pode ser muito importante, pois quase todos os pilha de SOAP lá fora, tem seu próprio sabor de bugginess / estranheza de enfrentar.

Outras dicas

Se eu não me engano, você pode consumir Amazon Web Services através de repouso, bem como SOAP. usando descansar com python seria muito mais fácil.

Confira http://boto.googlecode.com . Esta é a melhor maneira de usar o AWS em Python.

FWIW, eu recebo este WSDL Amazon para analisar com Suds 0.3.8:

url = ' http: //s3.amazonaws. com / ec2-de downloads / 2009-04-04.ec2.wsdl '
c = Cliente (url)
imprimir c

- snip -
Portas (1):
(AmazonEC2Port)
Métodos (43):
--- Muito mais removido para abreviar ---

-Matt

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top