| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.service.windowsazure.storage.queue">
- <title>Zend_Service_WindowsAzure_Storage_Queue</title>
- <para>
- Das Queue Service speichert Nachrichten die von jedem Client gelesen werden können welche
- auf den Speicher Account Zugriff haben.
- </para>
- <para>
- Eine Queue kann eine unbegrenzte Anzahl an Nachrichten enthalten, jede von Ihnen bis zu 8KB
- groß. Nachrichten werden generell am Ende der Queue hinzugefügt und vom Anfang der Queue
- empfangen, auch wenn das First In / First Out Verhalten (<acronym>FIFO</acronym>) nicht
- garantiert ist. Wenn man Nachrichten speichern muss die größer als 8KB sind, können die
- Daten der Nachricht als Queue gespeichert werden oder in einer Tabelle und anschließend eine
- Referenz zu den Daten als Nachricht in der Queue.
- </para>
- <para>
- Der Queue Speicher wird von Windows Azure als <acronym>REST</acronym> <acronym>API</acronym>
- angeboten welche von der <classname>Zend_Service_WindowsAzure_Storage_Queue</classname>
- Klasse umhüllt wird um ein natives <acronym>PHP</acronym> Interface zum Speicher Account zu
- bieten.
- </para>
- <sect2 id="zend.service.windowsazure.storage.queue.api">
- <title>API Beispiele</title>
- <para>
- Dieses Thema listet einige Beispiele der Verwendung der
- <classname>Zend_Service_WindowsAzure_Storage_Queue</classname> Klasse auf. Andere
- Features sind im Download Paket vorhanden, sowie eine detailierte <acronym>API</acronym>
- Dokumentation dieser Features.
- </para>
- <sect3 id="zend.service.windowsazure.storage.queue.api.create-queue">
- <title>Erstellung einer Queue</title>
- <para>
- Bei Verwendung des folgenden Codes kann eine Queue auf dem Development Speicher
- erstellt werden.
- </para>
- <example id="zend.service.windowsazure.storage.queue.api.create-queue.example">
- <title>Erstellung einer Queue</title>
- <programlisting language="php"><![CDATA[
- $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
- $result = $storageClient->createQueue('testqueue');
- echo 'Der Name der Queue ist: ' . $result->Name;
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.windowsazure.storage.queue.api.delete-queue">
- <title>Löschen einer Queue</title>
- <para>
- Bei Verwendung des folgenden Codes kann eine Queue vom Development Speicher entfernt
- werden.
- </para>
- <example id="zend.service.windowsazure.storage.queue.api.delete-queue.example">
- <title>Löschen einer Queue</title>
- <programlisting language="php"><![CDATA[
- $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
- $storageClient->deleteQueue('testqueue');
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.windowsazure.storage.queue.api.storing-queue">
- <title>Hinzufügen einer Nachricht zu einer Queue</title>
- <para>
- Bei Verwendung des folgenden Codes kann eine Nachricht zu einer Queue im
- Development Speicher hinzugefügt werden. Es ist zu beachten das die Queue hierfür
- bereits erstellt worden sein muss.
- </para>
- <example id="zend.service.windowsazure.storage.queue.api.storing-queue.example">
- <title>Hinzufügen einer Nachricht zu einer Queue</title>
- <programlisting language="php"><![CDATA[
- $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
- // 3600 = Lebenszeit der Nachricht,
- // wenn nicht angegeben ist der Standardwert 7 Tage
- $storageClient->putMessage('testqueue', 'Das ist eine Testnachricht', 3600);
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.windowsazure.storage.queue.api.read-queue">
- <title>Lesen einer Nachricht von einer Queue</title>
- <para>
- Bei Verwendung des folgenden Codes kann eine Nachricht von einer Queue im
- Development Speicher gelesen werden. Es ist zu beachten das die Queue und die
- Nachricht hierfür bereits erstellt worden sein muss.
- </para>
- <example id="zend.service.windowsazure.storage.queue.api.read-queue.example">
- <title>Lesen einer Nachricht von einer Queue</title>
- <programlisting language="php"><![CDATA[
- $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
- // 10 Nachrichten auf einmal empfangen
- $messages = $storageClient->getMessages('testqueue', 10);
- foreach ($messages as $message) {
- echo $message->MessageText . "\r\n";
- }
- ]]></programlisting>
- </example>
- <para>
- Die Nachrichten welche mit <methodname>getMessages()</methodname> gelesen werden,
- werden in der Queue für 30 Sekunden unsichtbar, und danach werden die Nachrichten
- in der Queue wieder erscheinen. Um eine Nachricht als bearbeitet zu markieren und
- Sie von der Queue zu entfernen, kann die Methode
- <methodname>deleteMessage()</methodname> verwendet werden.
- </para>
- <example id="zend.service.windowsazure.storage.queue.api.read-queue.processexample">
- <title>Eine Nachricht als bearbeitet markieren</title>
- <programlisting language="php"><![CDATA[
- $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
- // 10 Nachrichten auf einmal empfangen
- $messages = $storageClient->getMessages('testqueue', 10);
- foreach ($messages as $message) {
- echo $message . "\r\n";
- // Die Nachricht als bearbeitet markieren
- $storageClient->deleteMessage('testqueue', $message);
- }
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.windowsazure.storage.queue.api.peek-queue">
- <title>Prüfen ob es Nachrichten in der Queue gibt</title>
- <para>
- Bei Verwendung des folgenden Codes kann eine Queue auf neue Nachrichten geprüft
- werden. Es ist zu beachten das die Queue und die Nachricht hierfür bereits erstellt
- worden sein müssen.
- </para>
- <example id="zend.service.windowsazure.storage.queue.api.peek-queue.example">
- <title>Prüfen ob es Nachrichten in einer Queue gibt</title>
- <programlisting language="php"><![CDATA[
- $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
- // 10 Nachrichten auf einmal empfangen
- $messages = $storageClient->peekMessages('testqueue', 10);
- foreach ($messages as $message) {
- echo $message->MessageText . "\r\n";
- }
- ]]></programlisting>
- </example>
- <para>
- Es ist zu beachten das Nachrichten welche mit Hilfe von
- <methodname>peekMessages()</methodname> gelesen werden in der Queue nicht
- unsichtbar, und durch Verwendung der Methode
- <methodname>deleteMessage()</methodname> auch nicht als bearbeitet markiert werden
- können. Um das zu tun sollte stattdessen <methodname>getMessages()</methodname>
- verwendet werden.
- </para>
- </sect3>
- </sect2>
- </sect1>
|