QueueMessage mendefinisikan pesan-pesan yang dikirim ke Simple Message Queue (sebelumnya MNS) antrian. Anda dapat menentukan isi, periode penundaan, dan prioritas pesan saat mengirim pesan ke antrian SMQ. Topik ini menjelaskan parameter, tipe, dan status dari pesan antrian.
Parameter
MessageId
ID unik dari pesan.
Parameter ini dikembalikan ketika Anda memanggil operasi SendMessage, BatchSendMessage, ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
Setiap pesan dalam antrian memiliki ID unik.
Ketika pesan dikirim ke antrian, SMQ menghasilkan ID untuk pesan tersebut. Setelah dihasilkan, ID tidak dapat diubah dan dapat digunakan untuk verifikasi data.
NextVisibleTime
Waktu ketika pesan dapat dikonsumsi. Nilai ini adalah timestamp UNIX dalam milidetik sejak epoch 1 Januari 1970, 00:00:00 UTC.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, atau ChangeMessageVisibility.
ReceiptHandle
Tanda terima dari pesan.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, atau ChangeMessageVisibility.
Anda dapat menggunakan tanda terima untuk memodifikasi atau menghapus pesan dalam status Inactive. Tanda terima valid hingga waktu yang ditentukan oleh parameter NextVisibleTime. Jika digunakan setelah waktu tersebut, SMQ akan mengembalikan pesan kesalahan MessageNotExist.
Setiap tanda terima hanya dapat digunakan sekali. Jika status pesan berubah, tanda terima tersebut kedaluwarsa.
MessageBody
Isi dari pesan.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
MessageBodyMD5
Hash MD5 dari isi pesan.
Parameter ini dikembalikan ketika Anda memanggil operasi SendMessage, BatchSendMessage, ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
EnqueueTime
Waktu ketika pesan dikirim ke antrian. Nilai ini adalah timestamp UNIX dalam milidetik sejak epoch 1 Januari 1970, 00:00:00 UTC.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
FirstDequeueTime
Waktu ketika pesan pertama kali dikonsumsi. Nilai ini adalah timestamp UNIX dalam milidetik sejak epoch 1 Januari 1970, 00:00:00 UTC.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
Jika pesan belum pernah dikonsumsi, nilai parameter ini sama dengan nilai parameter EnqueueTime.
DequeueCount
Jumlah total kali pesan dikonsumsi.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
Priority
Prioritas dari pesan. Nilai valid: 1 hingga 16. Nilai 1 menunjukkan prioritas tertinggi.
Parameter ini dikembalikan ketika Anda memanggil operasi ReceiveMessage, BatchReceiveMessage, PeekMessage, atau BatchPeekMessage.
Jika antrian berisi pesan dengan prioritas berbeda, pesan dengan prioritas lebih tinggi dapat dikonsumsi lebih awal ketika Anda memanggil operasi ReceiveMessage.
SMQ tidak menjamin urutan konsumsi pesan karena fitur striping data.
Tipe Pesan
Pesan tertunda
Setelah pesan tertunda dikirim ke antrian, pesan tersebut tidak dapat dikonsumsi sampai periode yang ditentukan oleh parameter DelaySeconds berakhir.
Anda dapat menentukan parameter DelaySeconds untuk antrian atau saat memanggil operasi SendMessage atau BatchSendMessage.
Status Pesan
Ketika pesan standar dikirim ke antrian standar, pesan tersebut berada dalam status Active. Setelah diterima, pesan masuk ke status Inactive selama periode VisibilityTimeout. Jika tidak dikonsumsi dalam periode tersebut, pesan kembali ke status Active. Jika dihapus, pesan masuk ke status Deleted.
Ketika pesan standar dikirim ke antrian tertunda, pesan berada dalam status Delayed. Setelah periode DelaySeconds berakhir, pesan masuk ke status Active.
Ketika pesan tertunda dikirim ke antrian, pesan berada dalam status Delayed. Setelah periode DelaySeconds berakhir, pesan berubah menjadi status Active.
Periode maksimum penyimpanan pesan dalam antrian ditentukan oleh parameter MessageRetentionPeriod. Setelah periode tersebut berakhir, pesan masuk ke status Expired dan didaur ulang oleh pengumpul sampah.
Hanya pesan dalam status Active yang dapat diterima.