Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beispiel für Filterrichtlinien
Das folgende Beispiel zeigt eine Nachrichtennutzlast, zugestellt von einem Amazon-SNS-Thema, das Kundentransaktionen verarbeitet.
Das erste Beispiel enthält das MessageAttributes
-Feld mit Attributen, die die Transaktion beschreiben:
-
Interessen des Kunden
-
Name des Geschäfts
-
Status des Ereignisses
-
Kaufpreis in USD
Da diese Nachricht das MessageAttributes
-Feld enthält, kann jedes Themenabonnement, das eine FilterPolicy
festlegt, die Nachricht selektiv akzeptieren oder ablehnen, sofern FilterPolicyScope
im Abonnement auf MessageAttributes
festgelegt ist. Weitere Informationen zur Anwendung von Attributen auf Nachrichten finden Sie unter Amazon-SNS-Nachrichtenattribute.
{
"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"
}
}
}
Das folgende Beispiel zeigt dieselben Attribute, die im Message
-Feld enthalten sind, auch als Nachrichtennutzlast oder Nachrichtentext bezeichnet. Jedes Themenabonnement, das eine FilterPolicy
enthält, kann die Nachricht selektiv akzeptieren oder ablehnen, sofern FilterPolicyScope
im Abonnement auf MessageBody
festgelegt ist.
{
"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"
}
Die folgenden Filterrichtlinien akzeptieren Nachrichten auf der Grundlage ihrer Eigenschaftsnamen und Werte oder weisen sie auf dieser Grundlage ab.
Eine Richtlinie, die die Beispielnachricht akzeptiert
Die Eigenschaften in der folgenden Abonnementfilterrichtlinie entsprechen den der Beispielnachricht zugewiesenen Attributen. Beachten Sie, dass dieselbe Filterrichtlinie für FilterPolicyScope
gilt, unabhängig davon, ob sie auf MessageAttributes
oder MessageBody
festgelegt ist. Jeder Abonnent wählt seinen Filterbereich entsprechend der Zusammensetzung der Nachrichten aus, die er zu dem Thema erhält.
Wenn eine einzelne Eigenschaft in dieser Richtlinie nicht einem der Nachricht zugewiesenen Attribut entsprechen, weist die Richtlinie die Nachricht ab.
{
"store": ["example_corp"],
"event": [{"anything-but": "order_cancelled"}],
"customer_interests": [
"rugby",
"football",
"baseball"
],
"price_usd": [{"numeric": [">=", 100]}]
}
Eine Richtlinie, die die Beispielnachricht abweist
In der folgenden Abonnementfilterrichtlinie gibt es mehrere Nichtübereinstimmungen zwischen ihren Eigenschaften und den der Beispielnachricht zugewiesenen Attributen. Beispiel: Da der Eigenschaftsname encrypted
in den Nachrichtenattributen nicht vorhanden ist, veranlasst diese Richtlinieneigenschaft die Zurückweisung der Nachricht, unabhängig von dem ihm zugewiesenen Wert.
Wenn Abweichungen auftreten, weist die Richtlinie die Nachricht zurück.
{
"store": ["example_corp"],
"event": ["order_cancelled"],
"encrypted": [false],
"customer_interests": [
"basketball",
"baseball"
]
}