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>
承認
この操作は、アカウント所有者と、この操作を実行するアクセス許可を持つ共有アクセス署名を持つすべてのユーザーが実行できます。
注釈
peekonly
を true
に設定してキューからメッセージを取得した場合、メッセージの参照性は変更されません。 メッセージは、クライアントが メッセージの取得 操作を使用してメッセージを取得するまで、キューの他のコンシューマーが使用できます。 メッセージを要求するクライアントは、応答を含むポップ レシートを受け取らないため、メッセージを削除できません。
操作を使用して取得 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>