All Products
Search
Document Center

Simple Message Queue (formerly MNS):SendMessage

Last Updated:Jul 06, 2025

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 DelaySeconds saat mengirim pesan. Jika nilai parameter DelaySeconds lebih besar dari 0, status awal pesan adalah Delayed setelah dikirim ke antrian. Pesan tidak dapat dikonsumsi hingga periode yang ditentukan oleh parameter DelaySeconds berakhir dan status pesan berubah menjadi Active.

  • Jika nilai parameter DelaySeconds untuk 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.1

  • Header 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 Created

  • Header 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.