匯出 (0) 列印
全部展開

查看訊息

更新日期: 2013年11月

此作業會從佇列前面擷取一或多則訊息,但不會更改訊息的可見性。

Peek Messages 要求的建構如下。建議使用 HTTPS。以您的儲存體帳戶名稱取代 myaccount,並以您的佇列名稱取代 myqueue

 

方法 要求 URI HTTP 版本

GET

https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true

HTTP/1.1

對模擬儲存體服務提出要求時,請將模擬器主機名稱和佇列服務通訊埠指定為 127.0.0.1:10001,後面接著模擬儲存體帳戶名稱:

 

方法 要求 URI HTTP 版本

GET

http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true

HTTP/1.1

您可以在要求 URI 中指定下列參數。

 

參數 描述

numofmessages

選擇性。這是非零整數值,可指定從佇列擷取的訊息數目 (上限為 32)。根據預設,使用此作業會從佇列查看單一訊息。

timeout

選擇性。timeout 參數以秒為單位。如需詳細資訊,請參閱設定佇列服務作業的逾時值

下表描述必要的和選用的要求標頭。

 

要求標頭 描述

Authorization

必要項。指定驗證配置、帳戶名稱及簽章。如需詳細資訊,請參閱Azure 儲存體服務的驗證

Datex-ms-date

必要項。指定要求的國際標準時間 (UTC)。如需詳細資訊,請參閱Azure 儲存體服務的驗證

x-ms-version

選擇性。指定用於這個要求的作業版本。如需詳細資訊,請參閱為 Windows Azure 中的 Blob、佇列和表格服務進行版本設定

x-ms-client-request-id

選擇性。提供由用戶端產生的不透明值 (具有 1 KB 的字元限制),當儲存體分析記錄為啟用狀態時,此值會記錄在分析記錄檔中。如果是和伺服器所接收的要求相關的用戶端活動,則強烈建議您使用此標頭。如需詳細資訊,請參閱關於儲存體分析記錄Azure 記錄:使用記錄檔追蹤儲存體需求

無。

回應包括 HTTP 狀態碼、一組 XML 回應標頭,以及回應主體。

成功的作業會傳回狀態碼 200 (確定)。

如需狀態碼的資訊,請參閱<狀態和錯誤碼>。

這項作業的回應包括下列標頭。此回應也包含其他標準 HTTP 標頭。所有標準標頭都符合 HTTP/1.1 通訊協定規格

 

回應標頭 描述

x-ms-request-id

此標頭可唯一識別提出的要求,而且可用來進行要求的疑難排解。如需詳細資訊,請參閱對應用程式開發介面作業進行疑難排解

x-ms-version

指出用於執行要求的佇列服務版本。對 2009-09-19 及更新版本提出要求會傳回此標頭。

Date

服務產生的 UTC 日期/時間值,可指出啟動回應的時間。

Peek Messages 作業的回應 XML 會以下列格式傳回。

MessageID 項目是用來識別在佇列中之訊息的 GUID 值。這個值是由佇列服務指派,對用戶端是不透明的。

InsertionTimeExpirationTime 項目會以 UTC 值表示,格式如 RFC 1123 所述。

第一次將訊息從佇列清除時,DequeueCount 項目的值為 1。後續每次將訊息從佇列清除時,這個值會增加。

note附註
唯有以 2009-09-19 版佇列服務建立的佇列時,DequeueCount 項目才會傳回至回應主體中。

<QueueMessagesList>
    <QueueMessage>
      <MessageId>string-message-id</MessageId>
      <InsertionTime>insertion-time</InsertionTime>
      <ExpirationTime>expiration-time</ExpirationTime>
      <DequeueCount>integer</DequeueCount>
      <MessageText>message-body</MessageText>
    </QueueMessage>
</QueueMessagesList>

請注意,此回應不同於 取得訊息 作業的回應,差異在於此回應沒有包含 PopReceiptTimeNextVisible 項目。

Response Status:
HTTP/1.1 200 OK

Response Headers:
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Fri, 16 Sep 2011 22:51:18 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0

Response Body:
<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
  <QueueMessage>
    <MessageId>06eba214-8107-4412-a7f6-710a9baff647</MessageId>
    <InsertionTime>Fri, 09 Oct 2009 18:59:54 GMT</InsertionTime>
    <ExpirationTime>Fri, 16 Sep 2009 18:59:54 GMT</ExpirationTime>
    <DequeueCount>1</DequeueCount>
    <MessageText>PHRlc3Q+dGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvdGVzdD4=</MessageText>
  </QueueMessage>
</QueueMessagesList>

帳戶擁有者及使用共用存取簽章並有權執行這項作業的任何人,都可以執行這項作業。

peekonly 設為 true 的情況下,從佇列擷取訊息時,不會變更訊息的可見性。在用戶端使用 取得訊息 作業擷取訊息之前,佇列的其他取用者都可以使用該訊息。要求訊息的用戶端不會收到含有回應的 pop receipt,因此無法刪除訊息。

Peek Messages作業只能用來擷取可見的訊息。請注意,可擷取的訊息數目上限為 32。

第一次呼叫 Get Messages 以擷取訊息時,其 DequeueCount 屬性會設定為 1。如果您沒有刪除此訊息,且之後又再度擷取該訊息,則 DequeueCount 屬性會遞增。用戶端可以使用這個值判斷訊息被擷取的次數。請注意,呼叫 Peek Messages 並不會遞增 DequeueCount 的值,但是會傳回此值供用戶端讀取。

如果 numofmessages 參數超出範圍,服務會傳回狀態碼 400 (要求錯誤) 以及其他錯誤資訊,如下列範例所示。

HTTP/1.1 400 One of the query parameters specified in the request URI is outside the permissible range.
Connection: Keep-Alive
Content-Length: 455
Via: 1.1 TK5-PRXY-22
Date: Wed, 02 May 2012 19:37:23 GMT
Content-Type: application/xml
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 6a03526c-ca2c-4358-a63a-b5d096988533
x-ms-version: 2011-08-18

<?xml version="1.0" encoding="utf-8"?>
   <Error>
      <Code>OutOfRangeQueryParameterValue</Code>
      <Message>One of the query parameters specified in the request URI is outside the permissible range.
               RequestId:6a03526c-ca2c-4358-a63a-b5d096988533
               Time:2012-05-02T19:37:24.2438463Z
      </Message>
      <QueryParameterName>numofmessages</QueryParameterName>
      <QueryParameterValue>0</QueryParameterValue>
      <MinimumAllowed>1</MinimumAllowed>
      <MaximumAllowed>32</MaximumAllowed>
   </Error>

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2015 Microsoft