Coincidencia de valor de cadena - Amazon Simple Notification Service

Coincidencia de valor de cadena

Filtre los mensajes haciendo coincidir los valores de las cadenas con los valores de los atributos del mensaje o con los valores de las propiedades del cuerpo del mensaje. Los valores de cadena están entre comillas en la política JSON. Puede utilizar las siguientes operaciones de cadena para hacer coincidir los atributos de los mensajes o las propiedades del cuerpo de los mensajes:

Coincidencia exacta

La coincidencia exacta se produce cuando un valor de propiedad de la política coincide con uno o varios valores de atributo del mensaje. Para los atributos del tipo String.Array, cada elemento de la matriz se trata como una cadena independiente con fines de coincidencia.

Considere la siguiente propiedad de política:

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

Coincide con los siguientes atributos de mensaje:

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

También coincide con los siguientes cuerpos de mensaje:

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

Sin embargo, no coincide con los siguientes atributos de mensajes:

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

Tampoco coincide con el siguiente cuerpo del mensaje:

{ "customer_interests": "baseball" }

Coincidencia "anything-but"

Cuando el valor de una propiedad de política incluye la palabra clave anything-but, coincide con cualquier atributo de mensaje o valor del cuerpo del mensaje que no incluya ninguno de los valores de las propiedades de la política. anything-but se puede combinar con "exists": false. Para los atributos del tipo String.Array, coincide si ninguno de los elementos de la matriz aparece en la propiedad de la política.

Considere la siguiente propiedad de política:

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

Coincide con cualquiera de los siguientes atributos de mensaje:

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

También coincide con los siguientes cuerpos de mensaje:

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

Además, coincide con el siguiente atributo de mensaje (porque contiene un valor que no es rugby ni tennis):

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

Y también coincide con el siguiente cuerpo de mensaje (porque contiene un valor que no es rugby ni tennis):

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

Sin embargo, no coincide con los siguientes atributos de mensajes:

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

Tampoco coincide con el siguiente cuerpo del mensaje:

{ "customer_interests": ["rugby"] }

Uso de un prefijo con anything-but

Para la coincidencia de la cadena, también puede usar un prefijo con anything-but con el operador. Por ejemplo, la propiedad de política siguiente deniega el prefijo order-:

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

Coincide con cualquiera de los siguientes atributos:

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

También coincide con los siguientes cuerpos de mensaje:

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

Sin embargo, no coincide con el siguiente atributo de mensaje:

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

Tampoco coincide con el siguiente cuerpo del mensaje:

{ "event": "order-cancelled" }

Comodín anything-but

La siguiente propiedad de política niega el comodín *ball:

"customer_interests" : [{ "anything-but": { "wildcard": "*ball" }}]

Coincide con los siguientes atributos:

{"customer_interests": ["hockey", "rugby", "soccer] }

Sin embargo, no coincide con el siguiente atributo de mensaje:

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

sufijo anything-but

La siguiente propiedad de política niega el sufijo -ball

:

"customer_interests": [ { "anything-but": { "suffix": "ball" } } ]

Coincide con los siguientes atributos:

{"customer_interests": ["hockey", "rugby", "soccer] }

Sin embargo, no coincide con el siguiente atributo de mensaje:

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

Coincidencia Equals-ignore-case

Cuando una propiedad de política incluye la palabra clave equals-ignore-case, realizará una coincidencia que no distingue entre mayúsculas y minúsculas con el atributo de mensaje o valor de propiedad del cuerpo.

Considere la siguiente propiedad de política:

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

Coincide con cualquiera de los siguientes atributos de mensaje:

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

También coincide con los siguientes cuerpos de mensaje:

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

Coincidencia de direcciones IP

Puede utilizar el operador cidr para verificar si un mensaje entrante se origina desde una dirección IP o subred específica.

Considere la siguiente propiedad de política:

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

Coincide con cualquiera de los siguientes atributos de mensaje:

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

También coincide con los siguientes cuerpos de mensaje:

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

Sin embargo, no coincide con el siguiente atributo de mensaje:

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

Tampoco coincide con el siguiente cuerpo del mensaje:

{ "source_ip": "10.1.1.0" }

Coincidencia de prefijos

Cuando una propiedad de política incluye la palabra clave prefix, coincide con cualquier valor de atributo de mensaje o valor de propiedad de cuerpo que empiece por los caracteres especificados.

Considere la siguiente propiedad de política:

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

Coincide con cualquiera de los siguientes atributos de mensaje:

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

También coincide con los siguientes cuerpos de mensaje:

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

Sin embargo, no coincide con el siguiente atributo de mensaje:

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

Tampoco coincide con el siguiente cuerpo del mensaje:

{ "customer_interests": "rugby" }

Coincidencia de sufijos

Cuando una propiedad de política incluye la palabra clave suffix, coincide con cualquier valor de atributo de mensaje o valor de propiedad de cuerpo que termine por los caracteres especificados.

Considere la siguiente propiedad de política:

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

Coincide con cualquiera de los siguientes atributos de mensaje:

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

También coincide con los siguientes cuerpos de mensaje:

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

Sin embargo, no coincide con el siguiente atributo de mensaje:

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

Tampoco coincide con el siguiente cuerpo del mensaje:

{ "customer_interests": "rugby" }

Comodín

Puede utilizar el carácter comodín (*) para hacer coincidir los valores de cadena en patrones de eventos.

La siguiente política utiliza el carácter comodín (*):

"customer_interests": [ { "wildcard": "*ball" } ]

Coincide con los siguientes atributos:

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