Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Atribut pesan Amazon SNS
Amazon SNS mendukung pengiriman atribut pesan, yang memungkinkan Anda menyediakan item metadata terstruktur (seperti cap waktu, data geospasial, tanda tangan, dan pengidentifikasi) tentang pesan. Untuk langganan SQS, maksimal 10 atribut pesan dapat dikirim saat Pengiriman Pesan Mentah diaktifkan. Untuk mengirim lebih dari 10 atribut pesan, Pengiriman Pesan Mentah harus dinonaktifkan. Pesan dengan lebih dari 10 atribut pesan yang diarahkan ke langganan Amazon SQS yang diaktifkan Pengiriman Pesan Raw akan dibuang sebagai kesalahan sisi klien.
Atribut pesan bersifat opsional dan terpisah dari—tetapi dikirim bersama-sama dengan—isi pesan. Penerima dapat menggunakan informasi ini untuk memutuskan bagaimana menangani pesan tanpa harus memproses isi pesan terlebih dahulu.
Untuk informasi tentang mengirim pesan dengan atribut menggunakan Konsol Manajemen AWS atau AWS SDK untuk Java, lihat Untuk mempublikasikan pesan ke topik Amazon SNS menggunakan Konsol Manajemen AWS tutorial.
catatan
Atribut pesan dikirim hanya ketika struktur pesan String, bukan JSON.
Anda dapat menggunakan atribut pesan untuk menyusun pesan notifikasi push untuk endpoint seluler. Dalam skenario ini, atribut pesan hanya digunakan untuk menyusun pesan notifikasi push. Atribut tidak dikirim ke endpoint saat mengirim pesan dengan atribut pesan ke Amazon SQS endpoint.
Anda juga dapat menggunakan atribut pesan untuk membuat pesan Anda dapat difilter menggunakan kebijakan filter langganan. Anda dapat menerapkan kebijakan filter untuk langganan topik. Saat kebijakan filter diterapkan dengan cakupan kebijakan filter diset MessageAttributes el ke (default), langganan hanya menerima pesan yang memiliki atribut yang diterima kebijakan. Untuk informasi selengkapnya, lihat Pemfilteran pesan Amazon SNS.
catatan
Ketika atribut pesan digunakan untuk pemfilteran, nilainya harus berupa string JSON yang valid. Melakukan hal ini memastikan bahwa pesan dikirim ke langganan dengan pemfilteran atribut pesan diaktifkan.
Pesan atribut item dan validasi
Setiap atribut pesan terdiri atas beberapa item berikut:
-
Nama — Nama atribut pesan dapat berisi karakter berikut: A-Z, a-z, 0-9, garis bawah (_), tanda hubung (-), dan titik (.). Nama tidak harus dimulai atau diakhiri dengan titik, dan seharusnya tidak memiliki titik berturut-turut. Nama peka huruf besar/kecil dan harus unik di antara semua nama atribut untuk pesan. Panjang nama dapat mencapai 256 karakter. Nama tidak dapat dimulai dengan
AWS.atauAmazon.(atau variasi dalam casing) karena awalan ini disediakan untuk digunakan oleh Amazon Web Services. -
Type (Jenis) — Jenis data atribut pesan yang didukung
String,String.Array,Number, danBinary. Tipe data memiliki batasan konten yang sama dengan isi pesan. Untuk informasi selengkapnya, lihat bagian Pesan jenis data atribut dan validasi. -
Value (Nilai) — Nilai atribut pesan yang ditentukan pengguna. Untuk tipe data string, atribut value harus mengikuti batasan konten yang sama dengan badan pesan. Namun, jika atribut pesan digunakan untuk pemfilteran, nilainya harus berupa string JSON yang valid untuk memastikan kompatibilitas dengan kebijakan filter langganan Amazon SNS. Untuk informasi selengkapnya, lihat tindakan Publish (Publikasikan) di Amazon Simple Notification Service API Reference (Referensi API Amazon Simple Notification Service).
Nama, jenis, dan nilai tidak boleh kosong atau nol. Selain itu, isi pesan tidak boleh kosong atau nol. Semua bagian atribut pesan, termasuk nama, jenis, dan nilai, disertakan dalam pembatasan ukuran pesan, yang merupakan topik yang dikonfigurasi MaximumMessageSize (default 262.144 byte). Untuk informasi selengkapnya, lihat Menerbitkan pesan besar dengan Amazon SNS.
Pesan jenis data atribut dan validasi
Jenis data atribut pesan mengidentifikasi bagaimana nilai atribut pesan ditangani oleh Amazon SNS. Sebagai contoh, jika jenis adalah angka, Amazon SNS memvalidasi bahwa itu adalah angka.
Amazon SNS mendukung jenis data logis berikut untuk semua endpoint kecuali seperti yang dicatat:
-
String — String adalah Unicode dengan pengkodean UTF-8 biner. Untuk daftar nilai kode, lihat http://en.wikipedia.org/wiki/ASCII #ASCII_printable_characters
. catatan
Nilai pengganti tidak didukung dalam atribut pesan. Misalnya, menggunakan nilai pengganti untuk mewakili emoji akan memberi Anda kesalahan berikut:
Invalid attribute value was passed in for message attribute. -
String.Array— Sebuah array, diformat sebagai string, yang dapat berisi beberapa nilai. Nilai dapat berupa string, angka, atau kata kunci
true,false, dannull. Ti String.Array pe angka atau boolean tidak memerlukan tanda kutip. Beberapa String.Array nilai dipisahkan dengan koma.Jenis data ini tidak didukung untuk AWS Lambda langganan. Jika Anda menentukan jenis data ini untuk endpoint Lambda, ini akan diteruskan sebagai jenis data
Stringdalam muatan JSON yang dikirimkan Amazon SNS ke Lambda. -
Number (Nomor) — Nomor adalah bilangan bulat positif atau negatif atau bilangan floating-point. Angka memiliki jangkauan dan presisi yang cukup untuk mencakup sebagian besar kemungkinan nilai yang biasanya didukung oleh bilangan bulat, float, dan ganda. Sejumlah dapat memiliki nilai dari -109 hingga 109, dengan 5 digit akurasi setelah titik desimal. Nol awal dan akhir dipangkas.
Jenis data ini tidak didukung untuk AWS Lambda langganan. Jika Anda menentukan jenis data ini untuk endpoint Lambda, ini akan diteruskan sebagai jenis data
Stringdalam muatan JSON yang dikirimkan Amazon SNS ke Lambda. -
Binary (Biner) — Atribut jenis biner dapat menyimpan data biner apapun; misalnya, data terkompresi, data terenkripsi, atau gambar.
Atribut pesan yang dicadangkan untuk notifikasi push seluler
Tabel berikut mencantumkan atribut pesan dicadangkan untuk layanan notifikasi push seluler yang dapat Anda gunakan untuk struktur pesan notifikasi push Anda:
| Layanan notifikasi push | Atribut pesan yang dicadangkan |
|---|---|
| ADM | AWS.SNS.MOBILE.ADM.TTL |
| APN 1 | AWS.SNS.MOBILE.APNS_MDM.TTL |
AWS.SNS.MOBILE.APNS_MDM_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS_PASSBOOK.TTL |
|
AWS.SNS.MOBILE.APNS_PASSBOOK_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS_VOIP.TTL |
|
AWS.SNS.MOBILE.APNS_VOIP_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS.COLLAPSE_ID |
|
AWS.SNS.MOBILE.APNS.PRIORITY |
|
AWS.SNS.MOBILE.APNS.PUSH_TYPE |
|
AWS.SNS.MOBILE.APNS.TOPIC |
|
AWS.SNS.MOBILE.APNS.TTL |
|
|
Baidu |
AWS.SNS.MOBILE.BAIDU.DeployStatus
|
AWS.SNS.MOBILE.BAIDU.MessageKey |
|
AWS.SNS.MOBILE.BAIDU.MessageType |
|
AWS.SNS.MOBILE.BAIDU.TTL |
|
| FCM | AWS.SNS.MOBILE.FCM.TTL |
AWS.SNS.MOBILE.GCM.TTL |
|
| macOS | AWS.SNS.MOBILE.MACOS_SANDBOX.TTL |
AWS.SNS.MOBILE.MACOS.TTL |
|
|
MPNS |
AWS.SNS.MOBILE.MPNS.NotificationClass |
AWS.SNS.MOBILE.MPNS.TTL |
|
|
|
|
| WNS | AWS.SNS.MOBILE.WNS.CachePolicy |
AWS.SNS.MOBILE.WNS.Group |
|
AWS.SNS.MOBILE.WNS.Match |
|
AWS.SNS.MOBILE.WNS.SuppressPopup |
|
AWS.SNS.MOBILE.WNS.Tag |
|
AWS.SNS.MOBILE.WNS.TTL |
|
AWS.SNS.MOBILE.WNS.Type
|
1 Apple akan menolak notifikasi Amazon SNS jika atribut pesan tidak memenuhi persyaratannya. Untuk detail tambahan, lihat Mengi rim Permintaan Pemberitahuan ke APN