¿Cuál es la mejor pila de jabón de Python para consumir WSDL de Amazon Web Services?
-
04-07-2019 - |
Pregunta
Python tiene un número de pilas de jabón ; tan cerca como puedo decir, todos tienen defectos sustanciales.
¿Alguien ha tenido suerte al consumir y al usar WSDL para S3, EC2 y SQS en python?
Mi experiencia es que la espuma falla cuando se construye un objeto Cliente; después de algunas discusiones, ZSI genera un código de cliente que no funciona; etc.
Finalmente, soy consciente de boto pero como es un rollo manual Envoltura alrededor de AWS, está (1) incompleta y (2) nunca actualizada con el último WSDL de AWS.
Solución
El REST o " Consulta " Las API son definitivamente más fáciles de usar que SOAP, pero desafortunadamente al menos una vez que el servicio (EC2) no ofrece ninguna alternativa a SOAP. Como ya descubrió, las implementaciones de SOAP existentes de Python son terriblemente inadecuadas para la mayoría de los propósitos; Un enfoque alternativo es generar el XML para el sobre / cuerpo de SOAP directamente, en lugar de pasar por una capa SOAP intermedia. Si está familiarizado con XML / SOAP, esto no es demasiado difícil de hacer en la mayoría de los casos y le permite solucionar cualquier idiosincrasia particular con la implementación de SOAP en el otro extremo; Esto puede ser muy importante, ya que casi todas las pilas de SOAP tienen su propio sabor de bugginess / rareza con el que lidiar.
Otros consejos
si no me equivoco, puede consumir los servicios web de Amazon a través de REST y SOAP. usar REST con python sería mucho más fácil.
Consulte http://boto.googlecode.com . Esta es la mejor manera de usar AWS en Python.
FWIW, obtengo este Amazon WSDL para analizar con Suds 0.3.8:
url = ' http: //s3.amazonaws. com / ec2-downloads / 2009-04-04.ec2.wsdl '
c = Cliente (url)
imprimir c
- recorte -
Puertos (1):
(AmazonEC2Port)
Métodos (43):
--- Mucho más eliminado por brevedad ---
-Matt