Memeriksa beberapa pesan.
Otorisasi
Secara default, hanya akun Alibaba Cloud yang dapat memanggil operasi ini. Pengguna RAM hanya dapat melakukannya setelah diberi izin terkait. Tabel berikut menjelaskan informasi otorisasi untuk operasi ini. Untuk detail lebih lanjut, lihat Kebijakan Izin dan Contoh.
Item | Nilai |
Operasi API | BatchPeekMessage |
Aksi | mns:BatchPeekMessage |
Resource | acs:mns:$region:$accountid:/queues/$queueName/messages |
Deskripsi
Operasi ini memungkinkan Anda menanyakan hingga 16 pesan sekaligus.
Berbeda dengan operasi BatchReceiveMessage, operasi BatchPeekMessage tidak mengubah status pesan. Setelah memanggil BatchPeekMessage, pesan tetap dalam status Aktif dan masih dapat dilihat atau dikonsumsi. Namun, jika menggunakan BatchReceiveMessage, pesan akan masuk ke status Tidak Aktif selama periode yang ditentukan oleh parameter VisibilityTimeout.
Permintaan
Permintaan terdiri dari bagian-bagian berikut:
Baris permintaan
GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1Parameter URI spesifik operasi
Parameter
Tipe
Diperlukan
Contoh
Deskripsi
peekonly
Boolean
Ya
true
Menentukan bahwa permintaan ini hanya digunakan untuk melihat pesan di antrian dan tidak mengubah status pesan. Nilainya tetap true.
numOfMessages
Integer
Tidak
16
Jumlah maksimum pesan yang dapat dilihat sekaligus.
Header permintaan spesifik operasi
Tidak ada.
Badan permintaan
Tidak ada.
Respons
Respons terdiri dari bagian-bagian berikut:
Kode status HTTP
HTTP/1.1 200 OKHeader respons spesifik operasi
Tidak ada.
Badan respons
Badan respons dalam format XML. Badan dan parameter dari beberapa pesan dikembalikan.
Parameter
Tipe
Contoh
Deskripsi
MessageId
String
D6D5F7C9C12D14A4-1-14D953EFC72-20000****
ID pesan. ID pesan unik dalam antrian.
MessageBody
String
Ini adalah pesan uji.
Badan pesan.
MessageBodyMD5
String
F9360F391579E71CA77BC5D50242****
Hash MD5 dari badan pesan.
EnqueueTime
Long
1250700979248
Waktu saat pesan dikirim ke antrian. Nilai ini adalah timestamp UNIX yang mewakili jumlah milidetik yang telah berlalu sejak waktu epoch 1 Januari 1970, 00:00:00 UTC.
FirstDequeueTime
Long
1250700979348
Pertama kali pesan dikonsumsi. Nilai ini adalah timestamp UNIX yang mewakili jumlah milidetik yang telah berlalu sejak waktu epoch 1 Januari 1970, 00:00:00 UTC. Jika nilai parameter
DequeueCountadalah 0, nilai parameter FirstDequeueTime sama dengan nilai parameter EnqueueTime.DequeueCount
Integer
5
Jumlah total kali pesan dikonsumsi.
Contoh
Contoh permintaan
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**** Contoh respons sukses
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> Kode kesalahan
Kode kesalahan | Pesan kesalahan | Kode status HTTP | Deskripsi |
QueueNotExist | Nama antrian yang Anda berikan tidak ada. | 404 | Pesan kesalahan yang dikembalikan karena antrian yang ditentukan tidak ada. Buat antrian. |
MessageNotExist | Pesan tidak ada. | 404 | Pesan kesalahan yang dikembalikan karena tidak ada pesan yang terlihat di antrian. |