すべてのプロダクト
Search
ドキュメントセンター

Simple Message Queue (formerly MNS):Simple Message Queue (旧称:MNS): PeekMessage

最終更新日:Mar 12, 2026

キュー内のメッセージの状態を変更せずに表示します。

説明

`PeekMessage` は、検査のみを目的として、指定されたキューからメッセージを取得します。「ReceiveMessage」とは異なり、この操作はメッセージの状態を変更しません。メッセージは Active 状態のままであり、他のコンシューマーも引き続き利用できます。

返される各メッセージについて、レスポンスには以下が含まれます。

  • メッセージ本文とその MD5 ハッシュ

  • キュー内で一意のメッセージ ID

  • メッセージの優先度

  • エンキュータイムスタンプ

  • 最初のデキュータイムスタンプと合計デキュー回数

PeekMessage は 受信ハンドル を返しません。受信ハンドルがないと、メッセージを削除したり、その可視性タイムアウトを変更したりすることはできません。キューからメッセージを消費および削除するには、代わりに ReceiveMessage を使用してください。

PeekMessage と ReceiveMessage の比較

動作PeekMessageReceiveMessage
呼び出し後のメッセージの状態引き続き[アクティブ][非アクティブ]
他のコンシューマーへの可視性表示されたままVisibilityTimeout の期間中は非表示
ReceiptHandle 応答内なしはい
呼び出し後のメッセージ削除不可可 (ReceiptHandle を使用)

権限承認

デフォルトでは、Alibaba Cloud アカウントのみがこの操作を呼び出すことができます。RAM ユーザーには、必要な権限が付与されている必要があります。詳細については、「権限ポリシーと例」をご参照ください。

項目
API オペレーションPeekMessage
アクションmns:PeekMessage
リソースacs:mns:$region:$accountid:/queues/$queueName/messages

リクエスト構文

GET /queues/$queueName/messages?peekonly=true HTTP/1.1

URI パラメーター

パラメーター必須説明
peekonlyはいtrue に設定する必要があります。メッセージの状態を変更せずに表示します。

リクエストヘッダー

操作固有のヘッダーはありません。共通リクエストヘッダーのみが必要となります。

リクエストボディ

なし。

レスポンス

HTTP ステータスコード

リクエストが成功すると、HTTP/1.1 200 OK が返されます。

レスポンスヘッダー

この操作に固有のヘッダーはありません。共通レスポンスヘッダーのみが返されます。

レスポンスボディ

レスポンスボディは XML 形式で、以下の要素が含まれます。

パラメータータイプ説明
MessageIdStringD6D5F7C9C12D14A4-1-14D953EFC72-20000****キュー内で一意のメッセージ ID。
MessageBodyStringThis is a test message.メッセージ本文。
MessageBodyMD5StringF9360F391579E71CA77BC5D50242****メッセージ本文の MD5 ハッシュ。
EnqueueTimeLong1250700979248メッセージがキューに送信された時刻。1970年1月1日 00:00:00 (協定世界時 (UTC)) からの UNIX タイムスタンプ (ミリ秒単位) です。
FirstDequeueTimeLong1250700979348メッセージが最初にデキューされた時刻。1970年1月1日 00:00:00 (協定世界時 (UTC)) からの UNIX タイムスタンプ (ミリ秒単位) です。DequeueCount0 の場合、この値は EnqueueTime と等しくなります。
DequeueCountInteger5メッセージがデキューされた合計回数。
PriorityInteger8メッセージの優先度。
ReceiveMessage とは異なり、PeekMessage のレスポンスには ReceiptHandle 要素は含まれません。

リクエスト例

GET /queues/$queueName/messages?peekonly=true 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"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
    <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>

エラーコード

以下の表には、この操作に固有のエラーコードが一覧表示されています。共通のエラーコードについては、「エラー応答」をご参照ください。

エラーコードHTTP ステータスコードエラーメッセージ説明
QueueNotExist404The queue name you provided is not exist.指定されたキューは存在しません。キュー名とリージョンを確認するか、先にキューを作成してください。
MessageNotExist404Message not exist.表示できるメッセージがありません。キューが空であるか、すべてのメッセージが 非アクティブ 状態 (消費されたがまだ削除されていない) です。