複数のメッセージを照会します。
認証
デフォルトでは、Alibaba Cloudアカウントのみがこの操作を呼び出すことができます。 RAMユーザーは、関連する権限が付与された後にのみ、この操作を呼び出すことができます。次の表に、この操作の認証情報を示します。詳細については、「アクセス許可ポリシーと例」をご参照ください。
項目 | 値 |
API操作 | BatchPeekMessage |
アクション | mns:BatchPeekMessage |
リソース | acs:mns:$region:$accountid:/queues/$queueName/messages |
説明
この操作を呼び出すことで、一度に最大 16 件のメッセージを照会できます。
BatchReceiveMessage操作とは異なり、BatchPeekMessage操作はメッセージのステータスを変更しません。 BatchPeekMessage操作を呼び出してメッセージを表示した後も、メッセージはアクティブ状態のままなので、引き続き表示または消費できます。ただし、BatchReceiveMessage操作を呼び出してメッセージを受信すると、メッセージは非アクティブ状態になり、/* VisibilityTimeout */
パラメーターで指定された期間内は表示または消費できません。
リクエスト
リクエストは、次の部分で構成されます。
リクエスト行
GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1
操作固有のURIパラメーター
パラメーター
タイプ
必須
例
説明
peekonly
ブール値
はい
true
このリクエストがキュー内のメッセージを表示するためにのみ使用され、メッセージのステータスは変更されないことを指定します。値は true に固定されています。
numOfMessages
整数
いいえ
16
一度に表示できるメッセージの最大数。
操作固有のリクエストヘッダー
なし。
リクエストボディ
なし。
レスポンス
レスポンスは、次の部分で構成されます。
HTTPステータスコード
HTTP/1.1 200 OK
操作固有のレスポンスヘッダー
なし。
レスポンスボディ
レスポンスボディはXML形式です。複数のメッセージのボディとパラメーターが返されます。
パラメーター
タイプ
例
説明
MessageId
文字列
D6D5F7C9C12D14A4-1-14D953EFC72-20000****
メッセージのID。メッセージ ID は、キュー内で一意です。
MessageBody
文字列
This is a test message.
メッセージの本文。
MessageBodyMD5
文字列
F9360F391579E71CA77BC5D50242****
メッセージ本文のMD5ハッシュ。
EnqueueTime
Long
1250700979248
メッセージがキューに送信された時刻。この値は、エポックタイム 1970年1月1日 00:00:00 UTC から経過したミリ秒数を表すUNIXタイムスタンプです。
FirstDequeueTime
Long
1250700979348
メッセージが最初に消費された時刻。この値は、エポックタイム 1970年1月1日 00:00:00 UTC から経過したミリ秒数を表すUNIXタイムスタンプです。
/* DequeueCount */
パラメーターの値が 0 の場合、FirstDequeueTimeパラメーターの値はEnqueueTimeパラメーターの値と同じです。DequeueCount
整数
5
メッセージが消費された合計回数。
例
リクエストの例
GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA****
成功レスポンスの例
HTTP/1.1 200 OK
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mns-request-id:512B2A634403E52B1956****
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
<Message>
<MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-20000****</MessageId>
<MessageBodyMD5>F9360F391579E71CA77BC5D50242****</MessageBodyMD5>
<MessageBody>This is a test message.</MessageBody>
<EnqueueTime>1250700979248</EnqueueTime>
<FirstDequeueTime>1250700979348</FirstDequeueTime >
<DequeueCount>5</DequeueCount>
<Priority>8<Priority>
</Message>
<Message>
<MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-20000****</MessageId>
<MessageBodyMD5>F9360F391579E71CA77BC5D50242****</MessageBodyMD5>
<MessageBody>This is a test message.</MessageBody>
<EnqueueTime>1250700979250</EnqueueTime>
<FirstDequeueTime>1250700979352</FirstDequeueTime >
<DequeueCount>5</DequeueCount>
<Priority>8<Priority>
</Message>
</Messages>
エラーコード
エラーコード | エラーメッセージ | HTTPステータスコード | 説明 |
QueueNotExist | The queue name you provided is not exist. | 404 | 指定されたキューが存在しないために返されるエラーメッセージです。キューを作成してください。 |
MessageNotExist | Message not exist. | 404 | キューに表示可能なメッセージが存在しないために返されるエラーメッセージです。 |