Windows Azure : Verwendung der REST API von Windows Azure Teil 1: Überblick

Von Mario Meir-Huber Autor Feed 14. October 2009 13:14

Neben dem äußerst komfortabel zu verwendenden StorageClient bietet Windows Azure auch noch die etwas komplexere Möglichkeit, die REST API zu verwenden. Dies kann in verschiedenen Fällen durchaus sinnvoll sein. Wenn man etwa Performance und Kontrolle über die Anfragen braucht, ist die REST API hier sicher im Vorteil (und bei Windows Azure zahlt man auch für die einzelnen HTTP-Verbs, also pro Anfrage).

Wie man REST-basierte Abfragen in Windows Azure verwenden kann wird in diesem Posting und den folgenden erklärt. Im Ersten Posting wollen wir uns mal der Frage widmen was REST genau ist und wie man sich dies im Kontext von Windows Azure vorstellen kann.

Als Basis für die REST Beispiele werden wir hierbei die MessageQueues verwenden, da diese am einfachsten zum Erklären sind.

Was genau ist REST?

Bevor wir uns der StorageAPI zuwenden wollen wir uns kurz die REST API ansehen.

REST steht für “Representational State Transfer” und ist ein Architekturstil für das World Wide Web. Im Gegensatz zu SOAP nutzt es bereits vorhandene HTTP-Standards und setzt keine weitere Transportschicht ein. REST ist zustandslos und kennt keine Cookies oder Sitzungen.

REST Webservices werden über eine URL angesprochen. Die HTTP-Nachricht vom Client an den Server enthält alle Informationen, welche der Server braucht um diese zu verarbeiten.

Typische Operationen für eine REST-Abfrage sind:

- GET
- POST
- PUT
- DELETE

Responses werden üblicherweise im XML-Format zurück gesendet. Dies ist auch bei Windows Azure so der Fall

MessageQueues in Windows Azure Storage

MessageQueues dienen der Kommunikation von verschiedenen Rollen in Windows Azure. So ist es möglich, das die WebRole einen Auftrag an die WorkerRole stellt (z.B. “generiere E-Mails an Teilnehmer des Events, erstelle Rechnung im .docx Format, …)

MessageQueues sind die einfachste Einheit in Windows Azure Storage. Prinzipiell gibt es folgende Levels:

  • Account
    stellt alle Queues in einem Account dar. Ein Account kann mehrere MessageQueues enthalten
  • MessageQueue
    Stellt eine einzelne MessageQueue dar. Eine MessageQueue kann mehrere Messages enthalten
  • Message
    Eine Message ist die kleinste Einheit. Man kann diese mit “Pop” für einen gewissen Zeitraum für andere Rollen unsichtbar machen oder mit “Peek” nur anzeigen. Bei “Peek” bleiben diese dann für andere Rollen sichtbar.

Die Adresse des Queue-Accounts ist folgende

http://[myaccount].queue.core.windows.net

[myaccount] muss durch den tatsächlichen Account ersetzt werden.

Will man eine einzelne Queue adressieren:

http://myaccount.queue.core.windows.net/myqueue

einzelne Messages befinden sich unter

http://myaccount.queue.core.windows.net/myqueue/messages

Beispiel einer einfachen Anfrage

Eine einfache, REST-basierte Abfrage an Windows Azure sieht folgendermaßen aus:

http://myaccount.queue.core.windows.net?comp=list

Hierbei wird der Account {myaccount} mit dem eigenen Account ersetzt. “?comp=list” gibt an das man hierbei die einzelnen Queues auflisten will. Klar zu erkennen ist das im vorigen Abschnitt erklärte Nameing Schema der API.

Sicherheit: Verschlüsselung

Ein wichtiger Punkt bei Windows Azure ist die Verschlüsselung. Anfragen werden normalerweise mit einem SharedKey identifiziert. Neben diese muss in den WebRequest auch noch die x-ms-version und das x-ms-date angegeben werden.

x-ms-version: 2009-04-14
x-ms-date: Tue, 18 Nov 2008 00:55:16 GMT Authorization: SharedKey myaccount:Q7tar7qqM2LD/Wey7OQNPP3hMNap9wjg+g9AlAYeFls=

Damit Anfragen nicht als Plain-Text gesendet werden, müssen diese auch noch Verschlüsselt werden.

Das nächste Posting, welches in ein paar Tagen online sein wird, kümmert sich um die Erstellung der Verschlüsselung von REST Anfragen.

Weitere Literatur:

Queue Service API:
http://msdn.microsoft.com/en-us/library/dd179363.aspx

Authentifizierung:
http://msdn.microsoft.com/en-us/library/dd179428.aspx

REST:
http://de.wikipedia.org/wiki/Representational_State_Transfer

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Datenschutzhinweis: Sie stimmen durch "Kommentar speichern" der Speicherung Ihrer Angaben durch Microsoft Österreich für die Beantwortung der Anfrage zu. Sie erhalten dadurch keine unerwünschten Werbezusendungen. Ihre Emailadresse wird auf Ihren Wunsch dazu verwendet Sie über neue Kommentare zu informieren.

Microsoft respektiert den Datenschutz. Datenschutz & Cookies

Entwickler Wettbewerbe:

Wettbewerbe

Entwickler Events:

Developer Events

App für Windows 8, Windows Phone oder/und Azure? Diese Events zeigen Dir, wie es geht:

Mehr Information

Aktuelle Downloads

Visual Studio Downloads
 
Windows Azure Free Trial
Instagram
CodeFest.at on Facebook

Datenschutz & Cookies · Nutzungsbedingungen · Impressum · Markenzeichen
© 2013 Microsoft. Alle Rechte vorbehalten · BlogEngine.NET 2.7.0.0 · Diese Website wird für Microsoft von atwork gehostet.
powered by atwork