Mengirim pesan ke antrian.
Informasi otorisasi
Secara default, hanya akun Alibaba Cloud yang dapat memanggil operasi ini. Pengguna RAM dapat memanggil operasi ini setelah diberikan izin yang diperlukan. Tabel berikut menjelaskan informasi otorisasi untuk operasi ini. Untuk detail lebih lanjut, lihat Kebijakan Izin dan Contoh.
Nama | Nilai |
API | SendMessage |
Aksi | mns:SendMessage |
Sumber daya | acs:mns:$region:$accountid:/queues/$queueName/messages |
Catatan penggunaan
Operasi ini digunakan untuk mengirim pesan ke antrian. Pesan standar langsung dikonsumsi setelah dikirim ke antrian. Jika Anda tidak ingin pesan langsung dikonsumsi, tentukan parameter
DelaySecondssaat mengirim pesan. Jika nilai parameterDelaySecondslebih besar dari 0, status awal pesan adalah Delayed setelah dikirim ke antrian. Pesan tidak dapat dikonsumsi hingga periode yang ditentukan oleh parameterDelaySecondsberakhir dan status pesan berubah menjadi Active.Jika nilai parameter
DelaySecondsuntuk pesan berbeda dari nilai parameter DelaySeconds untuk antrian, maka nilai parameter DelaySeconds untuk pesan akan berlaku.Sebelum memanggil operasi API ini untuk mengirim pesan, enkode badan pesan menggunakan Base64 untuk mencegah kesalahan tak terduga akibat karakter khusus.
Permintaan
Permintaan terdiri dari bagian-bagian berikut:
Baris Permintaan
POST /queues/$queueName/messages HTTP/1.1Header Permintaan Spesifik Operasi
Tidak ada.
Badan Permintaan
Badan permintaan dalam format XML dan berisi parameter pesan.
Parameter
Tipe
Diperlukan
Contoh
Deskripsi
MessageBody
String
Ya
Ini adalah pesan uji
Badan pesan.
DelaySeconds
Integer
Tidak
60
Periode penundaan setelah pesan dikirim ke antrian dapat dikonsumsi.
Nilai valid: 0 hingga 604800. Unit: detik.
Nilai default: 0.
Respons
Respons terdiri dari bagian-bagian berikut:
Kode Status HTTP
HTTP/1.1 201 CreatedHeader Respons Spesifik Operasi
Tidak ada.
Badan Respons
Badan respons dalam format XML. Parameter MessageId dan MessageBodyMD5 dari pesan dikembalikan.
Parameter
Tipe
Contoh
Deskripsi
MessageId
String
5F290C926D472878-2-14D9529A8FA-20000****
ID pesan. ID pesan unik di dalam antrian.
MessageBodyMD5
String
C5DD56A39F5F7BB8B3337C6D11B6****
Hash MD5 dari badan pesan.
ReceiptHandle
String
1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==
Handle penerimaan yang dikembalikan setelah pesan tertunda diterima.
Contoh
Contoh Permintaan
POST /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 18 Mar 2012 12:00:00 GMT
Content-Length:500
Content-Type:text/xml;charset=utf-8
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEX****
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
<MessageBody>Ini adalah pesan uji</MessageBody>
<DelaySeconds>60</DelaySeconds>
<Priority>1</Priority>
</Message> Contoh Respons
HTTP/1.1 201 Created
Content-Length:120
Content-Type:text/xml;charset=utf-8
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>5F290C926D472878-2-14D9529****-200000001</MessageId>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
<ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</Message> Kode kesalahan
Kode kesalahan | Pesan kesalahan | Kode status HTTP | Deskripsi |
QueueNotExist | Nama antrian yang Anda berikan tidak ada. | 404 | Pesan kesalahan dikembalikan karena antrian yang ditentukan tidak ada. Buat antrian. |
MalformedXML | XML yang Anda berikan tidak diformat dengan baik. | 400 | Pesan kesalahan dikembalikan karena format file XML tidak valid. |
InvalidArgument | Nilai Element harus antara Low dan High detik/bita. | 400 | Pesan kesalahan dikembalikan karena nilai parameter tidak valid. Anda harus menentukan nilai valid seperti yang diminta. |