Zend_Service_WindowsAzure_Queue.xml 7.3 KB

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