Atribut SNS pesan Amazon - Amazon Simple Notification Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Atribut SNS pesan Amazon

Amazon SNS mendukung pengiriman atribut pesan, yang memungkinkan Anda menyediakan item metadata terstruktur (seperti stempel waktu, data geospasial, tanda tangan, dan pengidentifikasi) tentang pesan tersebut. Untuk SQS langganan, 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 SQS langganan Amazon yang diaktifkan Pengiriman Pesan Mentah 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 AWS Management Console atau AWS SDK for Java, lihat Untuk mempublikasikan pesan ke SNS topik Amazon menggunakan AWS Management Console tutorialnya.

catatan

Atribut pesan dikirim hanya ketika struktur pesan adalah String, bukanJSON.

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 titik akhir seperti saat mengirim pesan dengan atribut pesan ke titik SQS akhir Amazon.

Anda juga dapat menggunakan atribut pesan untuk membuat pesan Anda dapat difilter menggunakan kebijakan filter langganan. Anda dapat menerapkan kebijakan filter untuk langganan topik. Jika kebijakan filter diterapkan dengan cakupan kebijakan filter yang disetel ke MessageAttributes (default), langganan hanya menerima pesan yang memiliki atribut yang diterima kebijakan tersebut. Untuk informasi selengkapnya, lihat SNSPemfilteran pesan Amazon.

catatan

Ketika atribut pesan digunakan untuk pemfilteran, nilainya harus berupa JSON string yang valid. Melakukan hal ini memastikan bahwa pesan dikirimkan ke langganan dengan pemfilteran atribut pesan diaktifkan.

Pesan atribut item dan validasi

Setiap atribut pesan terdiri atas beberapa item berikut:

  • Name (Nama)— Nama atribut pesan dapat berisi karakter berikut: A-Z, a-z, 0-9, garis bawah (_), tanda hubung (-), dan periode (.). 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. atau Amazon. (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, dan Binary. 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 jenis data string, atribut nilai memiliki batasan konten yang sama dengan isi pesan. Untuk informasi selengkapnya, lihat tindakan Publikasikan di APIReferensi Layanan Pemberitahuan Sederhana Amazon.

Nama, jenis, dan nilai tidak boleh kosong atau nol. Selain itu, isi pesan tidak boleh kosong atau nol. Semua bagian dari atribut pesan, termasuk nama, jenis, dan nilai, termasuk dalam pembatasan ukuran pesan, yaitu 256 KB.

Pesan jenis data atribut dan validasi

Tipe data atribut pesan mengidentifikasi bagaimana nilai atribut pesan ditangani oleh AmazonSNS. Misalnya, jika jenisnya adalah angka, Amazon SNS memvalidasi bahwa itu adalah angka.

Amazon SNS mendukung tipe data logis berikut untuk semua titik akhir kecuali seperti yang disebutkan:

  • String — String adalah Unicode dengan UTF -8 pengkodean 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 – Array, diformat sebagai string, yang dapat berisi beberapa nilai. Nilai dapat berupa string, angka, atau kata kunci true, false, dan null. String.Array nomor atau tipe boolean tidak memerlukan tanda kutip. Beberapa nilai String.Array dipisahkan dengan koma.

    Tipe data ini tidak didukung untuk AWS Lambda langganan. Jika Anda menentukan tipe data ini untuk titik akhir Lambda, itu diteruskan sebagai tipe String data dalam JSON payload yang SNS dikirimkan Amazon 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.

    Tipe data ini tidak didukung untuk AWS Lambda langganan. Jika Anda menentukan tipe data ini untuk titik akhir Lambda, itu diteruskan sebagai tipe String data dalam JSON payload yang SNS dikirimkan Amazon 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
APNs1 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

AWS.SNS.MOBILE.MPNS.Type

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 SNS pemberitahuan Amazon jika atribut pesan tidak memenuhi persyaratannya. Untuk detail tambahan, lihat Mengirim Permintaan Pemberitahuan ke APNs situs web Pengembang Apple.