エクスポート (0) 印刷
すべて展開

Peek Messages

更新日: 2013年11月

この操作は、キューの先頭からメッセージを 1 つまたは複数取得しますが、メッセージの参照性は変更しません。

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

詳細については、「About Development Storage」を参照してください。

次のパラメーターを要求の URI に指定できます。

 

Parameter 説明

numofmessages

省略可能。キューからピークするメッセージの数を示すゼロ以外の整数値を指定します (上限は 32 件)。既定では、この操作でキューから 1 件のメッセージがピークされます。

timeout

省略可能。timeout パラメーターは、秒単位で表されます。詳細については、「キュー サービス操作のタイムアウトの設定」を参照してください。

必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

 

要求ヘッダー 説明

Authorization

必須。認証スキーム、アカウント名、および署名を指定します。詳細については、「Azure ストレージ サービスの認証」を参照してください。

Date またはx-ms-date

必須。要求の世界協定時刻 (UTC) を指定します。詳細については、「Azure ストレージ サービスの認証」を参照してください。

x-ms-version

省略可能。この要求に使用する操作のバージョンを指定します。詳細については、「Azure ストレージ サービスのバージョン設定」を参照してください。

x-ms-client-request-id

省略可能。Storage Analytics Logging が有効な場合に解析ログに記録される、クライアントで生成された非透過の値を 1 KB の文字制限付きで提供します。クライアント側のアクティビティとサーバーが受け取る要求を相互に関連付けるには、このヘッダーを使用することを強くお勧めします。詳細については、「Storage Analytics Logging について」および「Windows Azure のログ: ログを使用した、ストレージ要求の追跡」を参照してください。

なし。

応答には HTTP ステータス コード、一連の応答ヘッダー、および XML 応答の本文が含まれます。

操作が正常に終了すると、ステータス コード 200 (OK) が返されます。

ステータス コードの詳細については、「ステータス コードとエラー コード」を参照してください。

この操作の応答には、次のヘッダーが含まれています。応答には追加の標準 HTTP ヘッダーも含まれます。標準ヘッダーはすべて、HTTP/1.1 プロトコル仕様に準拠しています。

 

応答ヘッダー 説明

x-ms-request-id

このヘッダーは要求を一意に識別するので、要求のトラブルシューティングに使用できます。詳細については、「API 操作のトラブルシューティング」を参照してください。

x-ms-version

要求の実行に使用するキュー サービスのバージョンを示します。このヘッダーはバージョン 2009-09-19 以降で行った要求に対して返されます。

Date

サービスによって生成される、応答の開始時刻を示す UTC 日付/時刻値。

Peek Messages 操作の応答 XML は次の形式で返されます。

MessageID 要素は、キュー内のメッセージを識別する GUID 値です。キュー サービスによってメッセージに割り当てられる、クライアントに対して非透過の値です。

InsertionTime 要素と ExpirationTime 要素は、RFC 1123 に準拠した形式の UTC 値で表記されます。

DequeueCount 要素には、メッセージが初めてデキューされた時点で値 1 が設定されます。この値は、その後メッセージがデキューされるたびに 1 増分します。

noteメモ
DequeueCount 要素は、キューがバージョン 2009-09-19 のキュー サービスで作成された場合に限り、応答の本文で返されます。

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

この応答は、Get Messages 操作の応答とは、PopReceipt 要素または TimeNextVisible 要素が含まれていない点で異なります。

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>

この操作を実行できるのは、アカウント所有者と、この操作を実行するアクセス許可を持つ共有アクセス署名を使用する任意のユーザーです。

peekonlytrue に設定してキューからメッセージを取得した場合、メッセージの参照性は変更されません。クライアントが Get Messages 操作でメッセージを取得するまでは、このメッセージはキューの他のコンシューマーも引き続き使用できます。メッセージを要求したクライアントは、応答で POPReceipt を受け取らないため、メッセージを削除することはできません。

Peek Messages 操作で取得できるのは、参照可能なメッセージだけです。取得可能なメッセージの上限数は 32 件です。

Get Messages を呼び出してメッセージが初めて取得されると、その DequeueCount プロパティが 1 に設定されます。このメッセージが削除されず、後から再び取得された場合は、DequeueCount プロパティの値が 1 増えます。クライアントはこの値を使用して、メッセージが取得された回数を確認できます。Peek Messages の呼び出しでは、DequeueCount の値は増分しませんが、この値が返されるためクライアント側で読み取ることができます。

numofmessages パラメーターが範囲外の場合は、ステータス コード 400 (Bad Request) と、次の例に示す追加のエラー情報が返されます。

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>

表示:
© 2014 Microsoft