Zend_Service_WindowsAzure_Queue.xml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.service.windowsazure.storage.queue">
  5. <title>Zend_Service_WindowsAzure_Storage_Queue</title>
  6. <para>
  7. Das Queue Service speichert Nachrichten die von jedem Client gelesen werden können welche
  8. auf den Speicher Account Zugriff haben.
  9. </para>
  10. <para>
  11. Eine Queue kann eine unbegrenzte Anzahl an Nachrichten enthalten, jede von Ihnen bis zu 8KB
  12. groß. Nachrichten werden generell am Ende der Queue hinzugefügt und vom Anfang der Queue
  13. empfangen, auch wenn das First In / First Out Verhalten (<acronym>FIFO</acronym>) nicht
  14. garantiert ist. Wenn man Nachrichten speichern muss die größer als 8KB sind, können die
  15. Daten der Nachricht als Queue gespeichert werden oder in einer Tabelle und anschließend eine
  16. Referenz zu den Daten als Nachricht in der Queue.
  17. </para>
  18. <para>
  19. Der Queue Speicher wird von Windows Azure als <acronym>REST</acronym> <acronym>API</acronym>
  20. angeboten welche von der <classname>Zend_Service_WindowsAzure_Storage_Queue</classname>
  21. Klasse umhüllt wird um ein natives <acronym>PHP</acronym> Interface zum Speicher Account zu
  22. bieten.
  23. </para>
  24. <sect2 id="zend.service.windowsazure.storage.queue.api">
  25. <title>API Beispiele</title>
  26. <para>
  27. Dieses Thema listet einige Beispiele der Verwendung der
  28. <classname>Zend_Service_WindowsAzure_Storage_Queue</classname> Klasse auf. Andere
  29. Features sind im Download Paket vorhanden, sowie eine detailierte <acronym>API</acronym>
  30. Dokumentation dieser Features.
  31. </para>
  32. <sect3 id="zend.service.windowsazure.storage.queue.api.create-queue">
  33. <title>Erstellung einer Queue</title>
  34. <para>
  35. Bei Verwendung des folgenden Codes kann eine Queue auf dem Development Speicher
  36. erstellt werden.
  37. </para>
  38. <example id="zend.service.windowsazure.storage.queue.api.create-queue.example">
  39. <title>Erstellung einer Queue</title>
  40. <programlisting language="php"><![CDATA[
  41. $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
  42. $result = $storageClient->createQueue('testqueue');
  43. echo 'Der Name der Queue ist: ' . $result->Name;
  44. ]]></programlisting>
  45. </example>
  46. </sect3>
  47. <sect3 id="zend.service.windowsazure.storage.queue.api.delete-queue">
  48. <title>Löschen einer Queue</title>
  49. <para>
  50. Bei Verwendung des folgenden Codes kann eine Queue vom Development Speicher entfernt
  51. werden.
  52. </para>
  53. <example id="zend.service.windowsazure.storage.queue.api.delete-queue.example">
  54. <title>Löschen einer Queue</title>
  55. <programlisting language="php"><![CDATA[
  56. $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
  57. $storageClient->deleteQueue('testqueue');
  58. ]]></programlisting>
  59. </example>
  60. </sect3>
  61. <sect3 id="zend.service.windowsazure.storage.queue.api.storing-queue">
  62. <title>Hinzufügen einer Nachricht zu einer Queue</title>
  63. <para>
  64. Bei Verwendung des folgenden Codes kann eine Nachricht zu einer Queue im
  65. Development Speicher hinzugefügt werden. Es ist zu beachten das die Queue hierfür
  66. bereits erstellt worden sein muss.
  67. </para>
  68. <example id="zend.service.windowsazure.storage.queue.api.storing-queue.example">
  69. <title>Hinzufügen einer Nachricht zu einer Queue</title>
  70. <programlisting language="php"><![CDATA[
  71. $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
  72. // 3600 = Lebenszeit der Nachricht,
  73. // wenn nicht angegeben ist der Standardwert 7 Tage
  74. $storageClient->putMessage('testqueue', 'Das ist eine Testnachricht', 3600);
  75. ]]></programlisting>
  76. </example>
  77. </sect3>
  78. <sect3 id="zend.service.windowsazure.storage.queue.api.read-queue">
  79. <title>Lesen einer Nachricht von einer Queue</title>
  80. <para>
  81. Bei Verwendung des folgenden Codes kann eine Nachricht von einer Queue im
  82. Development Speicher gelesen werden. Es ist zu beachten das die Queue und die
  83. Nachricht hierfür bereits erstellt worden sein muss.
  84. </para>
  85. <example id="zend.service.windowsazure.storage.queue.api.read-queue.example">
  86. <title>Lesen einer Nachricht von einer Queue</title>
  87. <programlisting language="php"><![CDATA[
  88. $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
  89. // 10 Nachrichten auf einmal empfangen
  90. $messages = $storageClient->getMessages('testqueue', 10);
  91. foreach ($messages as $message) {
  92. echo $message->MessageText . "\r\n";
  93. }
  94. ]]></programlisting>
  95. </example>
  96. <para>
  97. Die Nachrichten welche mit <methodname>getMessages()</methodname> gelesen werden,
  98. werden in der Queue für 30 Sekunden unsichtbar, und danach werden die Nachrichten
  99. in der Queue wieder erscheinen. Um eine Nachricht als bearbeitet zu markieren und
  100. Sie von der Queue zu entfernen, kann die Methode
  101. <methodname>deleteMessage()</methodname> verwendet werden.
  102. </para>
  103. <example id="zend.service.windowsazure.storage.queue.api.read-queue.processexample">
  104. <title>Eine Nachricht als bearbeitet markieren</title>
  105. <programlisting language="php"><![CDATA[
  106. $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
  107. // 10 Nachrichten auf einmal empfangen
  108. $messages = $storageClient->getMessages('testqueue', 10);
  109. foreach ($messages as $message) {
  110. echo $message . "\r\n";
  111. // Die Nachricht als bearbeitet markieren
  112. $storageClient->deleteMessage('testqueue', $message);
  113. }
  114. ]]></programlisting>
  115. </example>
  116. </sect3>
  117. <sect3 id="zend.service.windowsazure.storage.queue.api.peek-queue">
  118. <title>Prüfen ob es Nachrichten in der Queue gibt</title>
  119. <para>
  120. Bei Verwendung des folgenden Codes kann eine Queue auf neue Nachrichten geprüft
  121. werden. Es ist zu beachten das die Queue und die Nachricht hierfür bereits erstellt
  122. worden sein müssen.
  123. </para>
  124. <example id="zend.service.windowsazure.storage.queue.api.peek-queue.example">
  125. <title>Prüfen ob es Nachrichten in einer Queue gibt</title>
  126. <programlisting language="php"><![CDATA[
  127. $storageClient = new Zend_Service_WindowsAzure_Storage_Queue();
  128. // 10 Nachrichten auf einmal empfangen
  129. $messages = $storageClient->peekMessages('testqueue', 10);
  130. foreach ($messages as $message) {
  131. echo $message->MessageText . "\r\n";
  132. }
  133. ]]></programlisting>
  134. </example>
  135. <para>
  136. Es ist zu beachten das Nachrichten welche mit Hilfe von
  137. <methodname>peekMessages()</methodname> gelesen werden in der Queue nicht
  138. unsichtbar, und durch Verwendung der Methode
  139. <methodname>deleteMessage()</methodname> auch nicht als bearbeitet markiert werden
  140. können. Um das zu tun sollte stattdessen <methodname>getMessages()</methodname>
  141. verwendet werden.
  142. </para>
  143. </sect3>
  144. </sect2>
  145. </sect1>