Amazon Web Services mit Tarzan für PHP

Im Tutorial haben wir gelernt, wie wir einfach mit PHP die Amazon Web Services ansprechen können. Wir haben allerdings auch gelernt, dass es sehr aufwendig ist, die Request-URL aufzubauen und das resultierende XML zu interpretieren. Um das Ganze etwas schneller hinzubekommen, gibt es Tarzan. Tarzan ist ein PHP-Toolkit, das es einem vereinfacht mit den Amazon Web Services zu kommunizieren.

Dabei unterstützt uns Tarzan nicht nur bei den sogenannten Associates Web Services (also der Abfrage des Amazon-Shops), sondern bildet auch alle anderen Web Services wie zum Beispiel die SimpleDB oder auch den Simple Storage Service ab. Dabei nimmt es uns direkt noch das Funktionscaching ab. Ich weiß, ich hätte das alles schon viel früher von mir geben können, und mir das Tutorial sparen, aber ich bin der festen Überzeugung, dass man wissen muss, was ein Toolkit eigentlich macht, bevor man es nutzt. Insofern ist das Tutorial sozusagen der notwendige Hintergrund zu Tarzan.

Um es zu Benutzen müssen wir Tarzan natürlich erstmal downloaden (http://tarzan-aws.com/) und entpacken. Danach geht es relativ einfach ans Eingemachte: im Entpacken Tarzan-Verzeichnis gibt es die Datei config-sample.inc.php, die nach config.inc.php unbenannt werden muss. Genau in diese Datei trägt man dann auch den eigenen Amazon-API-Key und die eigenen Associate-ID ein. Hierfür stehen die Konstanten API_KEY und AWS_ASSOC_ID.

Und nun kann es eigentlich schon los richtig gehen, folgender Code

1
2
3
4
require_once('tarzan/tarzan.class.php');
$aaws = new AmazonAAWS; 
$search = $aaws->item_lookup( '0596515812', array('ResponseGroup' => 'Large') , AAWS_LOCALE_GERMANY );
var_dump($search);

liefert das resultierende XML (allerdings ungecached!), das Ganze zu cachen wäre mit Tarzan übrigens auch recht einfach, ein Funktionscaching liegt dem Toolkit bereits bei. Achtung, das resultierende XML wird von Tarzan umgebaut! Das Ergebnis, das wir im Tutorial verwendet haben, findet sich bei Tarzan im body. Also anhand unseres Beispieles in $search->body.

Ansonsten ist alles gleich. Stellt sich nun natürlich die Frage, wo der Vorteil von Tarzan liegt. Amazon hat die dumme Angewohnheit, regelmäßig irgendwo irgendwas an den AWS zu ändern. Im Worst Case (und davor schreckt Amazon nicht im geringsten zurück) wird soviel geändert, dass eine bereits funktionierende Anwendung umgebaut werden muss. Wenn man aber eine Mid-Tier wie Tarzan verwendet muss man einfach das Toolkit austauschen, die Requests funktionieren nach wie vor, und die eigene Anwendung braucht nicht geändert zu werden. Das lästige Funktionscaching wird einem auch abgenommen, und eine vernünftige Fehlerbehandlung gibt es noch oben drauf.

Tarzan hilft uns aber leider nicht bei der Darstellung der Daten, hier muss weiterhin selbst Hand angelegt werden, aber mit dem Tutorial sollte dies eigentlich kein Problem darstellen.

Ähnliche Beiträge

mysql_connect vs. mysql_pconnect Es gibt durchaus Blog-Beiträge, von denen man glaubt oder hofft, dass man sie eigentlich nicht schreiben braucht, dieser ist einer davon! Da ich mich ...
Bearbeiten von Bilderin in PHP mit PHPImageWorksho... Man kann von Drupal halten was man will, aber ich bleibe da stets bei meiner Meinung, dass die Module zur Bildmanipulationen die besten sind, die am C...
Einfach mit PHP Twittern Lange hat ess gedauert, aber scheinbar ist nun auch Twitter in Deutschland angekommen. Der Dienst erfreut sich einer immer größeren Beliebtheit und sc...
Tutorial Amazon Web Services mit PHP – III &... Im vorherigen Teil haben wir eine XML von den AWS mit cURL geladen. Aber Was heißt eigentlich Funktionscaching, und wieso brauchen wir das? Ganz einfa...

Ein Kommentar

Schreibe einen Kommentar