Fitur penyaringan pesan dari Message Service (MNS) memungkinkan Anda merutekan pesan dari suatu topik ke langganan yang berbeda berdasarkan tag. Topik ini menjelaskan cara kerja penyaringan pesan dan cara menetapkan tag penyaringan pesan.
Latar Belakang
Secara default, sebuah langganan ke suatu topik menerima semua pesan yang dipublikasikan ke topik tersebut.
Jika sebuah langganan memiliki tag penyaringan pesan, langganan tersebut hanya menerima pesan yang tag pesannya sesuai dengan tag penyaringan tersebut.
Jika sebuah langganan tidak memiliki tag penyaringan pesan, langganan tersebut menerima semua pesan dari topik, terlepas dari apakah pesan tersebut memiliki tag pesan atau tidak.
Cara Kerja
Gambar berikut menunjukkan bagaimana pesan dengan tag pesan yang berbeda disaring oleh langganan yang memiliki tag penyaringan pesan, lalu didorong ke antrian tujuan.

Pada gambar di atas, Topic 1 memiliki tiga langganan. Langganan 1 dan 2 memiliki tag penyaringan pesan yang berbeda, sedangkan Langganan 3 tidak memiliki tag penyaringan pesan. Titik akhir untuk langganan ini masing-masing adalah Queue 1, Queue 2, dan Queue 3.
-
Tag pesan sesuai dengan tag penyaringan pesan langganan. Proses penyaringannya sebagai berikut:
-
Message Service (MNS) mendorong Message 1 ke Queue 1.
-
Message Service (MNS) mendorong Message 2 ke Queue 2.
-
-
Langganan tidak memiliki tag penyaringan pesan. Proses penyaringannya sebagai berikut:
-
Message Service (MNS) mendorong Message 1 ke Queue 3.
-
Message Service (MNS) mendorong Message 2 ke Queue 3.
-
Message Service (MNS) mendorong Message 3 ke Queue 3.
-
Tetapkan tag penyaringan pesan
Contoh ini menunjukkan cara menetapkan tag penyaringan pesan untuk sebuah langganan guna menyaring pesan dari TopicA. Hanya pesan yang memiliki tag pesan tag-a yang didorong ke QueueB. Untuk mempelajari cara membuat langganan topik, lihat Create a subscription.
-
Pada panel Create Subscription, masukkan
tag-apada bidang Message Filtering Tag untuk menyaring pesan dari TopicA dan mendorongnya ke QueueB.Tetapkan retry policy menjadi Backoff Retry dan message push format menjadi SIMPLIFIED.
-
Untuk menyaring pesan, Anda juga harus menetapkan tag pesan yang sesuai saat mempublikasikan pesan menggunakan SDK. Untuk contoh kode lengkap, lihat Step 5: Publish a message.
Kode contoh berikut menunjukkan cara menetapkan tag pesan saat Anda mempublikasikan pesan ke suatu topik:
TopicMessage message = new Base64TopicMessage(); // Tetapkan tag agar sesuai dengan tag penyaringan pesan subscription. message.setMessageTag("tag-a");