Corrispondenza dei valori di stringa - Amazon Simple Notification Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Corrispondenza dei valori di stringa

Puoi filtrare i messaggi creando una corrispondenza tra i valori della stringa e i valori degli attributi del messaggio o i valori delle proprietà del corpo del messaggio. I valori delle stringhe sono racchiusi tra virgolette doppie nella JSON policy. Puoi utilizzare le seguenti operazioni di stringa per creare una corrispondenza tra gli attributi del messaggio o il corpo del messaggio.

Corrispondenza esatta

La corrispondenza esatta si verifica quando un valore di proprietà della policy corrisponde a uno o più valori di attributo del messaggio.

Esaminiamo la seguente proprietà della policy:

"customer_interests": ["rugby", "tennis"]

Corrisponde ai seguenti attributi di messaggio:

"customer_interests": {"Type": "String", "Value": "rugby"}
"customer_interests": {"Type": "String", "Value": "tennis"}

Corrisponde anche ai seguenti corpi dei messaggi:

{ "customer_interests": "rugby" }
{ "customer_interests": "tennis" }

Tuttavia, non corrisponde al seguente attributo di messaggio:

"customer_interests": {"Type": "String", "Value": "baseball"}

Né corrisponde al seguente corpo del messaggio:

{ "customer_interests": "baseball" }

Corrispondenza anything-but

Quando un valore della proprietà della policy include la parola chiave anything-but, corrisponde a qualsiasi attributo del messaggio o valore del corpo del messaggio che non include nessuno dei valori delle proprietà della policy. anything-but può essere combinato con "exists": false.

Esaminiamo la seguente proprietà della policy:

"customer_interests": [{"anything-but": ["rugby", "tennis"]}]

Corrisponde a uno dei seguenti attributi di messaggio:

"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "football"}

Corrisponde anche a uno dei seguenti corpi dei messaggi:

{ "customer_interests": "baseball" }
{ "customer_interests": "football" }

Inoltre, corrisponde anche al seguente attributo di messaggio (poiché contiene un valore che non è rugby o tennis):

"customer_interests": {"Type": "String.Array", "Value": "[\"rugby\", \"baseball\"]"}

E corrisponde anche al seguente corpo del messaggio (poiché contiene un valore che non è rugbytennis):

{ "customer_interests": ["rugby", "baseball"] }

Tuttavia, non corrisponde al seguente attributo di messaggio:

"customer_interests": {"Type": "String", "Value": "rugby"}

Né corrisponde al seguente corpo del messaggio:

{ "customer_interests": ["rugby"] }

Utilizzo di un prefisso con operatore anything-but

Per la corrispondenza di stringa, puoi anche utilizzare un prefisso con operatore anything-but. Ad esempio, la proprietà della policy seguente nega il prefisso order-:

"event":[{"anything-but": {"prefix": "order-"}}]

Corrisponde a uno dei seguenti attributi:

"event": {"Type": "String", "Value": "data-entry"}
"event": {"Type": "String", "Value": "order_number"}

Corrisponde anche a uno dei seguenti corpi dei messaggi:

{ "event": "data-entry" }
{ "event": "order_number" }

Tuttavia, non corrisponde al seguente attributo di messaggio:

"event": {"Type": "String", "Value": "order-cancelled"}

Né corrisponde al seguente corpo del messaggio:

{ "event": "order-cancelled" }

Corrispondenza E quals-ignore-case

Quando una proprietà della policy include la parola chiave equals-ignore-case, verrà effettuata una corrispondenza che ignora le maiuscole/minuscole in qualsiasi valore di attributo dei messaggi o di proprietà del corpo.

Esaminiamo la seguente proprietà della policy:

"customer_interests": [{"equals-ignore-case": "tennis"}]

Corrisponde a uno dei seguenti attributi di messaggio:

"customer_interests": {"Type": "String", "Value": "TENNIS"}
"customer_interests": {"Type": "String", "Value": "Tennis"}

Corrisponde anche a uno dei seguenti corpi dei messaggi:

{ "customer_interests": "TENNIS" }
{ "customer_interests": "teNnis" {

Corrispondenza indirizzo IP

Puoi utilizzare l'operatore cidr per verificare se un messaggio in arrivo proviene da un indirizzo IP o da una subnet specifica.

Esaminiamo la seguente proprietà della policy:

"source_ip":[{"cidr": "10.0.0.0/24"}]

Corrisponde a uno dei seguenti attributi di messaggio:

"source_ip": {"Type": "String", "Value": "10.0.0.0"}
"source_ip": {"Type": "String", "Value": "10.0.0.255"}

Corrisponde anche a uno dei seguenti corpi dei messaggi:

{ "source_ip": "10.0.0.0" }
{ "source_ip": "10.0.0.255" }

Tuttavia, non corrisponde al seguente attributo di messaggio:

"source_ip": {"Type": "String", "Value": "10.1.1.0"}

Né corrisponde al seguente corpo del messaggio:

{ "source_ip": "10.1.1.0" }

Corrispondenza in base al prefisso

Quando una proprietà della policy include la parola chiave prefix, corrisponde a qualsiasi valore di proprietà del messaggio che inizi con i caratteri specificati.

Esaminiamo la seguente proprietà della policy:

"customer_interests": [{"prefix": "bas"}]

Corrisponde a uno dei seguenti attributi di messaggio:

"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "basketball"}

Corrisponde anche a uno dei seguenti corpi dei messaggi:

{ "customer_interests": "baseball" }
{ "customer_interests": "basketball" }

Tuttavia, non corrisponde al seguente attributo di messaggio:

"customer_interests": {"Type": "String", "Value": "rugby"}

Né corrisponde al seguente corpo del messaggio:

{ "customer_interests": "rugby" }

Corrispondenza dei suffissi

Quando una proprietà della policy include la parola chiave suffix, mette in corrispondenza qualsiasi valore di attributo dei messaggio o di proprietà del corpo che inizi con i caratteri specificati.

Esaminiamo la seguente proprietà della policy:

"customer_interests": [{"suffix": "ball"}]

Corrisponde a uno dei seguenti attributi di messaggio:

"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "basketball"}

Corrisponde anche a uno dei seguenti corpi dei messaggi:

{ "customer_interests": "baseball" }
{ "customer_interests": "basketball" }

Tuttavia, non corrisponde al seguente attributo di messaggio:

"customer_interests": {"Type": "String", "Value": "rugby"}

Né corrisponde al seguente corpo del messaggio:

{ "customer_interests": "rugby" }