All Products
Search
Document Center

Simple Message Queue (formerly MNS):BatchSendMessage

Last Updated:Jul 06, 2025

Mengirim beberapa pesan ke antrian dalam satu operasi.

Informasi otorisasi

Secara default, hanya akun Alibaba Cloud yang dapat memanggil operasi ini. Pengguna RAM hanya dapat melakukannya setelah diberikan izin terkait. Tabel berikut menjelaskan informasi otorisasi untuk operasi ini. Untuk detail lebih lanjut, lihat Kebijakan Izin dan Contoh.

Nama

Nilai

API

BatchSendMessage

Aksi

mns:BatchSendMessage

Resource

acs:mns:$region:$accountid:/queues/$queueName/messages

Catatan penggunaan

  • Anda dapat memanggil operasi ini untuk mengirim hingga 16 pesan ke antrian dalam satu waktu. Ukuran maksimum total pesan yang dapat dikirim sekaligus adalah 64 KB. Jika parameter DelaySeconds tidak ditentukan saat mengirim pesan, pesan tersebut akan langsung dikonsumsi. Untuk menunda konsumsi pesan secara berkala, tentukan parameter DelaySeconds saat mengirim pesan ke antrian.

  • Jika Anda menetapkan parameter DelaySeconds dengan nilai lebih besar dari 0, pesan akan berstatus Ditunda setelah dikirim ke antrian. Pesan tidak dapat dikonsumsi hingga periode yang ditentukan oleh parameter DelaySeconds selesai, dan status pesan berubah menjadi Aktif. Jika nilai parameter DelaySeconds untuk pesan berbeda dari nilai parameter DelaySeconds untuk antrian, maka nilai parameter DelaySeconds untuk pesan yang berlaku.

  • Saat memanggil operasi BatchSendMessage, QPS (permintaan per detik) adalah hasil kali jumlah pesan dan QPS. Misalnya, jika Anda mengirim 10 pesan dengan QPS 100, QPS untuk satu antrian menjadi 100×10=1.000.

  • Sebelum memanggil 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. Parameter beberapa pesan disertakan dalam badan permintaan.

    Parameter

    Tipe

    Diperlukan

    Contoh

    Deskripsi

    MessageBody

    String

    Ya

    Ini adalah pesan uji 1.

    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 beberapa pesan dikembalikan.

    Parameter

    Tipe

    Contoh

    Deskripsi

    MessageId

    String

    5F290C926D472878-2-14D9529A8FA-20000****

    ID pesan. ID pesan unik dalam antrian.

    MessageBodyMD5

    String

    C5DD56A39F5F7BB8B3337C6D11B6****

    Hash MD5 dari badan pesan.

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

<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Message>
        <MessageBody>Ini adalah pesan uji 1.</MessageBody>
        <DelaySeconds>60</DelaySeconds>
        <Priority>1</Priority>
    </Message>
    <Message>
        <MessageBody>Ini adalah pesan uji 2.</MessageBody>
        <DelaySeconds>60</DelaySeconds>
        <Priority>1</Priority>
    </Message>
</Messages>           

Contoh Respons

  • Semua pesan berhasil dikirim:

        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"?>
        <Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
        <Message>
            <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
            <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
        </Message>
        <Message>
            <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
            <MessageBodyMD5>377AC5283D8765C9CEE4E0EA353D****</MessageBodyMD5>
        </Message>
        </Messages>                   
  • Beberapa pesan gagal dikirim:

        HTTP/1.1 500
        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"?>
        <Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
        <Message>
            <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
            <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6****</MessageBodyMD5>
        </Message>
        <Message>
            <MessageId>5F290C926D472878-2-14D9529A8FA-20000****</MessageId>
            <MessageBodyMD5>377AC5283D8765C9CEE4E0EA353D****</MessageBodyMD5>
        </Message>
        <Message>
            <ErrorCode>InternalError</ErrorCode>
            <ErrorMessage>Kesalahan internal.</ErrorMessage>
        </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.

MalformedXML

XML yang Anda berikan tidak diformat dengan baik.

400

Pesan kesalahan yang dikembalikan karena format file XML tidak valid.

InvalidArgument

Nilai Element harus antara Low dan High detik/bita.

400

Pesan kesalahan yang dikembalikan karena nilai parameter tidak valid. Anda harus menentukan nilai yang valid seperti yang diminta.