All Products
Search
Document Center

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

Last Updated:Mar 12, 2026

Menampilkan sebuah pesan dalam antrian tanpa mengubah statusnya.

Deskripsi

PeekMessage mengambil pesan dari antrian yang ditentukan hanya untuk pemeriksaan. Berbeda dengan ReceiveMessage, operasi ini tidak mengubah status pesan—pesan tetap berada dalam status Active dan masih tersedia untuk konsumen lain.

Untuk setiap pesan yang dikembalikan, respons mencakup:

  • Badan pesan dan hash MD5-nya

  • ID pesan, yang unik dalam antrian

  • Prioritas pesan

  • Stempel waktu saat dimasukkan ke antrian (enqueue)

  • Stempel waktu dequeue pertama dan jumlah total dequeue

PeekMessage tidak mengembalikan ReceiptHandle. Tanpa receipt handle, Anda tidak dapat menghapus pesan atau mengubah timeout visibilitasnya. Untuk mengonsumsi dan menghapus pesan dari antrian, gunakan ReceiveMessage sebagai gantinya.

PeekMessage vs. ReceiveMessage

PerilakuPeekMessageReceiveMessage
Status pesan setelah pemanggilanTetap ActiveUbah ke Tidak Aktif
Visibilitas terhadap konsumen lainMasih terlihatTersembunyi selama periode VisibilityTimeout
ReceiptHandle dalam responsTidakYa
Dapat menghapus pesan setelah pemanggilanTidakYa (dengan ReceiptHandle)

Otorisasi

Secara default, hanya Akun Alibaba Cloud yang dapat memanggil operasi ini. Pengguna RAM harus diberikan izin yang diperlukan. Untuk informasi lebih lanjut, lihat Kebijakan dan contoh izin.

ItemNilai
Operasi APIPeekMessage
Actionmns:PeekMessage
Resourceacs:mns:$region:$accountid:/queues/$queueName/messages

Sintaksis permintaan

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

Parameter URI

ParameterWajibDeskripsi
peekonlyYaHarus bernilai true. Menampilkan pesan tanpa mengubah statusnya.

Header permintaan

Tidak ada header khusus operasi. Hanya header permintaan umum yang diperlukan.

Badan permintaan

Tidak ada.

Respons

Kode status HTTP

Permintaan yang berhasil mengembalikan HTTP/1.1 200 OK.

Header respons

Tidak ada header khusus operasi. Hanya header respons umum yang dikembalikan.

Badan respons

Badan respons dalam format XML dan berisi elemen-elemen berikut:

ParameterTipeContohDeskripsi
MessageIdStringD6D5F7C9C12D14A4-1-14D953EFC72-20000****ID pesan unik dalam antrian.
MessageBodyStringThis is a test message.Badan pesan.
MessageBodyMD5StringF9360F391579E71CA77BC5D50242****Hash MD5 dari badan pesan.
EnqueueTimeLong1250700979248Waktu saat pesan dikirim ke antrian. Stempel waktu UNIX dalam milidetik sejak 1 Januari 1970, 00:00:00 UTC.
FirstDequeueTimeLong1250700979348Waktu saat pesan pertama kali di-dequeue. Stempel waktu UNIX dalam milidetik sejak 1 Januari 1970, 00:00:00 UTC. Jika DequeueCount bernilai 0, nilai ini sama dengan EnqueueTime.
DequeueCountInteger5Jumlah total kali pesan telah di-dequeue.
PriorityInteger8Prioritas pesan.
Berbeda dengan ReceiveMessage, respons PeekMessage tidak menyertakan elemen ReceiptHandle.

Contoh

Contoh permintaan

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****

Contoh respons

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>

Kode kesalahan

Tabel berikut mencantumkan kode kesalahan spesifik untuk operasi ini. Untuk kode kesalahan umum, lihat Tanggapan kesalahan.

Kode kesalahanKode status HTTPPesan kesalahanDeskripsi
QueueNotExist404The queue name you provided is not exist.Antrian yang ditentukan tidak ada. Periksa nama antrian dan wilayahnya, atau buat antrian terlebih dahulu.
MessageNotExist404Message not exist.Tidak ada pesan yang tersedia untuk di-peek. Antrian kosong, atau semua pesan berada dalam status Inactive (telah dikonsumsi tetapi belum dihapus).