Quelle est la meilleure pile de feuilletons python pour utiliser le WSDL Amazon Web Services?
-
04-07-2019 - |
Question
Python a un nombre de piles de savon ; Autant que je sache, tous présentent des défauts importants.
Quelqu'un at-il eu la chance de consommer et en utilisant WSDL pour S3, EC2 et SQS en python?
Mon expérience est que l'échec de moussage lors de la construction d'un objet client; après quelques discussions, ZSI génère un code client qui ne fonctionne pas; etc.
Enfin, je suis au courant de boto , mais il s'agit d'un document roulé à la main. autour de AWS, il est (1) incomplet et (2) jamais à jour avec le dernier WSDL AWS.
La solution
Le REST ou "Requête" Les API sont nettement plus faciles à utiliser que SOAP, mais malheureusement, au moins un service (EC2) ne fournit aucune alternative à SOAP. Comme vous l'avez déjà découvert, les implémentations SOAP existantes de Python sont terriblement inadéquates dans la plupart des cas; Une solution de contournement consiste à générer simplement le code XML pour l'enveloppe / le corps SOAP directement, au lieu de passer par une couche SOAP intermédiaire. Si vous êtes un peu familier avec XML / SOAP, ce n'est pas si difficile à faire dans la plupart des cas et vous permet de contourner des particularités particulières avec l'implémentation SOAP à l'autre extrémité; Cela peut être très important, car à peu près toutes les piles SOAP ont leur propre style de bugginess / weirdness à affronter.
Autres conseils
si je ne me trompe pas, vous pouvez utiliser Amazon Web Services via REST et SOAP. utiliser REST avec python serait beaucoup beaucoup plus facile.
Découvrez http://boto.googlecode.com . C’est la meilleure façon d’utiliser AWS en Python.
FWIW, je reçois ce Amazon WSDL à analyser avec Suds 0.3.8:
url = ' http: //s3.amazonaws. com / ec2-downloads / 2009-04-04.ec2.wsdl '
c = Client (url)
print c
- snip -
Ports (1):
(AmazonEC2Port)
Méthodes (43):
--- Beaucoup plus enlevé pour la brièveté ---
-Matt