Transformasi pesan tunggal (SMT) dapat ditetapkan sebagai properti topik atau langganan.
SMT topik menerapkan transformasi pada pesan sebelum pesan dipertahankan untuk topik.
SMT langganan menerapkan transformasi pada pesan sebelum pesan dikirim ke langganan.
Berikut adalah beberapa alasan untuk menerapkan SMT ke topik, bukan langganan:
Anda ingin beberapa langganan di topik yang sama menerima pesan yang diubah. Jika semua langganan pada suatu topik seharusnya menerima pesan yang diubah, sebaiknya terapkan transformasi satu kali di sisi publikasi.
Anda ingin meminimalkan biaya penyimpanan, pengiriman antar-region, dan pengiriman pelanggan. Jika Anda menghapus kolom yang tidak diperlukan dari pesan menggunakan SMT yang ditentukan pada topik, semua operasi pemrosesan dan pengiriman data berikutnya akan mendapatkan manfaat dari pengurangan jejak pesan.
Anda ingin menangani pesan yang tidak valid pada waktu publikasi. Jika Anda menggunakan SMT pada topik untuk memvalidasi pesan, setiap publikasi dengan pesan yang tidak valid akan gagal. Anda dapat memutuskan di penayang cara menangani kegagalan ini.
Berikut adalah beberapa alasan untuk menerapkan SMT ke langganan, bukan topik:
Anda hanya memerlukan transformasi untuk satu langganan. SMT langganan berguna jika Anda hanya memerlukan transformasi untuk satu langganan.
Anda ingin menulis pesan tidak valid ke topik yang dihentikan pengirimannya. Anda juga dapat menggunakan SMT langganan dengan topik dead-letter untuk mengarsipkan transformasi yang gagal. Error ini menyebabkan pesan dirutekan ke topik pesan yang dihentikan pengirimannya yang ditetapkan.
Anda dapat menggabungkan SMT topik dan langganan untuk melakukan transformasi independen pada satu pesan.