次の方法で共有


Peek Messages

操作は Peek Messages キューの先頭から 1 つ以上のメッセージを取得しますが、メッセージの可視性は変更されません。

要求

要求は Peek Messages 次のように構築できます。 HTTPS を使用することをお勧めします。 myaccount をストレージ アカウントの名前に置き換え、myqueue をキューの名前に置き換えます。

Method 要求 URI HTTP バージョン
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true HTTP/1.1

エミュレートされたストレージ サービス要求

エミュレートされたストレージ サービスに対して要求を行うときは、エミュレーターのホスト名とキュー サービス ポートを として 127.0.0.1:10001指定し、その後にエミュレートされたストレージ アカウント名を指定します。

Method 要求 URI HTTP バージョン
GET http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true HTTP/1.1

詳細については、ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する方法に関するページを参照してください。

URI パラメーター

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

パラメーター 説明
numofmessages 省略可能。 キューから表示するメッセージの数を示すゼロ以外の整数値を指定します (上限は 32 件)。 既定では、この操作でキューから 1 件のメッセージが表示されます。
timeout 省略可能。 timeout パラメーターは、秒単位で表されます。 詳細については、「 キュー サービス操作のタイムアウトを設定する」を参照してください。

要求ヘッダー

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

要求ヘッダー 説明
Authorization 必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
Date または x-ms-date 必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
x-ms-version 省略可能。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。
x-ms-client-request-id 省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「 Azure Queue Storage の監視」を参照してください。

要求本文

なし。

[応答]

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

状態コード

操作に成功すると、状態コード 200 (OK) が返されます。

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

応答ヘッダー

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

応答ヘッダー 説明
x-ms-request-id 行われた要求を一意に識別し、それを使用して要求のトラブルシューティングを行うことができます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。
x-ms-version 要求の実行に使用された Queue サービスのバージョン。 バージョン 2009-09-19 以降に対して行われた要求に対して返されます。
Date サービスによって生成される UTC 日付/時刻値。応答が開始された時刻を示します。
x-ms-client-request-id 要求とそれに対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、その値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値 x-ms-client-request-id と等しくなります。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、応答には存在しません。

応答本文

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

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

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

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

注意

この要素は DequeueCount 、キュー が Queue サービス バージョン 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>  

注意

この応答は、 または TimeNextVisible 要素が含PopReceiptまれていないという点で、メッセージの取得操作の応答とは異なります。

応答のサンプル

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 に設定してキューからメッセージを取得した場合、メッセージの参照性は変更されません。 メッセージは、クライアントが メッセージの取得 操作を使用してメッセージを取得するまで、キューの他のコンシューマーが使用できます。 メッセージを要求するクライアントは、応答を含むポップ レシートを受け取らないため、メッセージを削除できません。

操作を使用して取得 Peek Messages できるのは、表示されているメッセージのみです。 取得できるメッセージの最大数は 32 であることに注意してください。

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

注意

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>  
  

関連項目

Azure Storage への要求を承認する
状態コードとエラー コード
キュー サービスのエラー コード