Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kebijakan filter SNS contoh Amazon
Contoh berikut menunjukkan payload pesan yang dikirimkan oleh SNS topik Amazon yang memproses transaksi pelanggan.
Contoh pertama mencakup MessageAttributes
bidang dengan atribut yang menggambarkan transaksi:
-
Minat pelanggan
-
Nama penyimpanan
-
State kejadian
-
Harga pembelian di USD
Karena pesan ini menyertakan MessageAttributes
bidang, langganan topik apa pun yang menetapkan a FilterPolicy
dapat menerima atau menolak pesan secara selektif, selama FilterPolicyScope
disetel ke MessageAttributes
dalam langganan. Untuk informasi tentang menerapkan atribut pada olahpesan, lihat Atribut SNS pesan Amazon.
{
"Type": "Notification",
"MessageId": "a1b2c34d-567e-8f90-g1h2-i345j67klmn8",
"TopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic",
"Message": "message-body-with-transaction-details
",
"Timestamp": "2019-11-03T23:28:01.631Z",
"SignatureVersion": "4",
"Signature": "signature
",
"UnsubscribeURL": "unsubscribe-url
",
"MessageAttributes": {
"customer_interests": {
"Type": "String.Array",
"Value": "[\"soccer\", \"rugby\", \"hockey\"]"
},
"store": {
"Type": "String",
"Value":"example_corp"
},
"event": {
"Type": "String",
"Value": "order_placed"
},
"price_usd": {
"Type": "Number",
"Value": "210.75"
}
}
}
Contoh berikut menunjukkan atribut yang sama termasuk dalam Message
bidang, juga disebut sebagai payload pesan atau isi pesan. Langganan topik apa pun yang menyertakan a FilterPolicy
dapat menerima atau menolak pesan secara selektif, selama FilterPolicyScope
diatur MessageBody
dalam langganan.
{
"Type": "Notification",
"MessageId": "a1b2c34d-567e-8f90-g1h2-i345j67klmn8",
"TopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic",
"Message": "{
\"customer_interests\": [\"soccer\", \"rugby\", \"hockey\"],
\"store\": \"example_corp\",
\"event\":\"order_placed\",
\"price_usd\":210.75
}",
"Timestamp": "2019-11-03T23:28:01.631Z",
"SignatureVersion": "4",
"Signature": "signature",
"UnsubscribeURL": "unsubscribe-url"
}
Kebijakan filter berikut menerima atau menolak pesan berdasarkan nama dan nilai properti mereka.
Kebijakan yang menerima contoh olahpesan
Properti dalam kebijakan filter langganan berikut cocok dengan atribut yang ditetapkan ke pesan contoh. Perhatikan bahwa kebijakan filter yang sama berfungsi untuk FilterPolicyScope
apakah itu disetel ke MessageAttributes
atauMessageBody
. Setiap pelanggan memilih ruang lingkup penyaringan mereka sesuai dengan komposisi pesan yang mereka terima dari topik tersebut.
Jika satu properti dalam kebijakan ini tidak cocok dengan atribut yang ditetapkan ke pesan, kebijakan akan menolak pesan tersebut.
{
"store": ["example_corp"],
"event": [{"anything-but": "order_cancelled"}],
"customer_interests": [
"rugby",
"football",
"baseball"
],
"price_usd": [{"numeric": [">=", 100]}]
}
Kebijakan yang menolak contoh olahpesan
Kebijakan filter langganan berikut memiliki beberapa ketidakcocokan antara propertinya dan atribut yang ditetapkan ke pesan contoh. Misalnya, karena nama encrypted
properti tidak ada dalam atribut pesan, properti kebijakan ini menyebabkan pesan ditolak terlepas dari nilai yang ditetapkan padanya.
Jika terjadi ketidakcocokan, kebijakan menolak pesan.
{
"store": ["example_corp"],
"event": ["order_cancelled"],
"encrypted": [false],
"customer_interests": [
"basketball",
"baseball"
]
}