Domanda

Python ha un numero di pile di sapone ; per quanto posso dire, tutti hanno difetti sostanziali.

Qualcuno ha avuto fortuna a consumare e usando WSDL per S3, EC2 e SQS in Python?

La mia esperienza è che la schiuma non riesce quando si costruisce un oggetto Client; dopo alcuni litigi, ZSI genera codice client che non funziona; ecc.

Infine, sono a conoscenza di boto ma dato che è un lancio manuale che avvolge AWS, è (1) incompleto e (2) mai aggiornato con l'ultimo AWS WSDL.

È stato utile?

Soluzione

Il REST o " Query " Le API sono sicuramente più facili da usare rispetto a SOAP, ma sfortunatamente almeno una volta il servizio (EC2) non fornisce alcuna alternativa a SOAP. Come hai già scoperto, le implementazioni SOAP esistenti di Python sono terribilmente inadeguate per la maggior parte degli scopi; un approccio alternativo consiste nel generare direttamente l'XML per la busta / il corpo SOAP, anziché passare attraverso un livello SOAP intermedio. Se hai familiarità con XML / SOAP, questo non è troppo difficile da fare nella maggior parte dei casi e ti consente di aggirare eventuali particolari idiosincrasie con l'implementazione SOAP all'altra estremità; questo può essere abbastanza importante, dato che quasi tutti gli stack di SAPONE là fuori hanno il loro sapore di buggy / stranezza con cui combattere.

Altri suggerimenti

se non sbaglio, puoi utilizzare Amazon Web Services tramite REST e SOAP. usare REST con Python sarebbe molto più facile.

Guarda http://boto.googlecode.com . Questo è il modo migliore per utilizzare AWS in Python.

FWIW, ottengo che questo WSDL di Amazon analizzi con Suds 0.3.8:

url = ' http: //s3.amazonaws. com / ec2-download / 2009-04-04.ec2.wsdl '
c = Client (url)
stampa c

- snip -
   Porte (1):
      (AmazonEC2Port)
         Metodi (43):
--- Molto più rimosso per brevità ---

-Matt

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top