Correspondência de valores de string
Filtre mensagens correspondendo valores de string a valores de atributos da mensagem ou a valores de propriedades do corpo da mensagem. Os valores de string são inseridos entre aspas duplas na política JSON. Você pode usar as operações de string a seguir para corresponder a atributos da mensagem ou às propriedades do corpo da mensagem:
Correspondência exata
A correspondência exata ocorre quando um valor de propriedade de política corresponde a um ou mais valores de atributos de mensagens. Para atributos do tipo String.Array, cada elemento na matriz é tratado como uma string separada para fins de correspondência.
Considere a seguinte propriedade de política:
"customer_interests": ["rugby", "tennis"]
Ele corresponde aos seguintes atributos de mensagem:
"customer_interests": {"Type": "String", "Value": "rugby"}
"customer_interests": {"Type": "String", "Value": "tennis"}
"customer_interests": {"Type": "String.Array", "Value": "[\"rugby\", \"tennis\"]"}
Também corresponde aos seguintes corpos de mensagem:
{
"customer_interests": "rugby"
}
{
"customer_interests": "tennis"
}
No entanto, não corresponde ao seguinte atributo de mensagem:
"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String.Array", "Value": "[\"baseball\"]"}
Nem corresponde ao seguinte corpo de mensagem:
{
"customer_interests": "baseball"
}
Correspondência anything-but
Quando o valor de uma propriedade de política inclui a palavra-chave anything-but, corresponde a qualquer valor de atributo ou corpo de mensagem que não inclua nenhum dos valores de propriedade de política. anything-but pode ser combinado com "exists": false. Para atributos do tipo String.Array, corresponde se nenhum dos elementos da matriz estiver listado na propriedade da política.
Considere a seguinte propriedade de política:
"customer_interests": [{"anything-but": ["rugby", "tennis"]}]
Há correspondência com os seguintes atributos de mensagem:
"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "football"}
"customer_interests": {"Type": "String.Array", "Value": "[\"rugby\", \"baseball\"]"}
Também estabelece correspondência com um dos seguintes corpos de mensagem:
{
"customer_interests": "baseball"
}
{
"customer_interests": "football"
}
Além disso, estabelece correspondência com o seguinte atributo de mensagem (pois contém um valor que não é rugby nem tennis):
"customer_interests": {"Type": "String.Array", "Value": "[\"rugby\", \"baseball\"]"}
Também estabelece correspondência com o seguinte corpo de mensagem (pois contém um valor que não é rugby nem tennis):
{
"customer_interests": ["rugby", "baseball"]
}
No entanto, não corresponde ao seguinte atributo de mensagem:
"customer_interests": {"Type": "String", "Value": "rugby"}
"customer_interests": {"Type": "String.Array", "Value": "[\"rugby\"]"}
Nem corresponde ao seguinte corpo de mensagem:
{
"customer_interests": ["rugby"]
}
Usando um prefixo com anything-but
Para correspondência de string, também é possível usar um prefixo com o operador anything-but. Por exemplo, a política de propriedade seguinte nega o prefixo order-:
"event":[{"anything-but": {"prefix": "order-"}}]
Ele corresponde a um dos seguintes atributos:
"event": {"Type": "String", "Value": "data-entry"}
"event": {"Type": "String", "Value": "order_number"}
Também estabelece correspondência com um dos seguintes corpos de mensagem:
{
"event": "data-entry"
}
{
"event": "order_number"
}
No entanto, não corresponde ao seguinte atributo de mensagem:
"event": {"Type": "String", "Value": "order-cancelled"}
Nem corresponde ao seguinte corpo de mensagem:
{
"event": "order-cancelled"
}
curinga indicador de exceção
A propriedade de política a seguir nega o caractere curinga *ball:
"customer_interests" : [{ "anything-but": { "wildcard": "*ball" }}]
Ele corresponde aos seguintes atributos:
{"customer_interests": ["hockey", "rugby", "soccer] }
No entanto, não corresponde ao seguinte atributo de mensagem:
{"customer_interests": ["baseball", "basketball"] }
sufixo indicador de exceção
A propriedade de política a seguir nega o sufixo -ball
:
"customer_interests": [ { "anything-but": { "suffix": "ball" } } ]
Ele corresponde aos seguintes atributos:
{"customer_interests": ["hockey", "rugby", "soccer] }
No entanto, não corresponde ao seguinte atributo de mensagem:
{"customer_interests": ["baseball", "basketball"] }
Correspondência igual-ignorar-capitalização
Quando a propriedade de uma política inclui a palavra-chave equals-ignore-case, ela realizará uma correspondência que não diferencia letras maiúsculas de minúsculas a qualquer valor de propriedade do corpo ou atributo da mensagem.
Considere a seguinte propriedade de política:
"customer_interests": [{"equals-ignore-case": "tennis"}]
Ele corresponde a um dos seguintes atributos de mensagens:
"customer_interests": {"Type": "String", "Value": "TENNIS"}
"customer_interests": {"Type": "String", "Value": "Tennis"}
Também estabelece correspondência com um dos seguintes corpos de mensagem:
{
"customer_interests": "TENNIS"
}
{
"customer_interests": "teNnis"
{
Correspondência de endereço IP
Você pode usar o operador cidr para verificar se uma mensagem de entrada é originada de um endereço IP ou sub-rede específico.
Considere a seguinte propriedade de política:
"source_ip":[{"cidr": "10.0.0.0/24"}]
Ele corresponde a um dos seguintes atributos de mensagens:
"source_ip": {"Type": "String", "Value": "10.0.0.0"}
"source_ip": {"Type": "String", "Value": "10.0.0.255"}
Também estabelece correspondência com um dos seguintes corpos de mensagem:
{
"source_ip": "10.0.0.0"
}
{
"source_ip": "10.0.0.255"
}
No entanto, não corresponde ao seguinte atributo de mensagem:
"source_ip": {"Type": "String", "Value": "10.1.1.0"}
Nem corresponde ao seguinte corpo de mensagem:
{
"source_ip": "10.1.1.0"
}
Correspondência de prefixo
Quando uma propriedade de política inclui a palavra-chave prefix, ela corresponde a qualquer valor de atributo de mensagem ou corpo de mensagem que comece com os caracteres especificados.
Considere a seguinte propriedade de política:
"customer_interests": [{"prefix": "bas"}]
Ele corresponde a um dos seguintes atributos de mensagens:
"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "basketball"}
Também estabelece correspondência com um dos seguintes corpos de mensagem:
{
"customer_interests": "baseball"
}
{
"customer_interests": "basketball"
}
No entanto, não corresponde ao seguinte atributo de mensagem:
"customer_interests": {"Type": "String", "Value": "rugby"}
Nem corresponde ao seguinte corpo de mensagem:
{
"customer_interests": "rugby"
}
Correspondência de sufixo
Quando a propriedade de uma política inclui a palavra-chave suffix, ela corresponde a qualquer valor de propriedade do corpo ou atributo da mensagem que termine com os caracteres especificados.
Considere a seguinte propriedade de política:
"customer_interests": [{"suffix": "ball"}]
Ele corresponde a um dos seguintes atributos de mensagens:
"customer_interests": {"Type": "String", "Value": "baseball"}
"customer_interests": {"Type": "String", "Value": "basketball"}
Também estabelece correspondência com um dos seguintes corpos de mensagem:
{
"customer_interests": "baseball"
}
{
"customer_interests": "basketball"
}
No entanto, não corresponde ao seguinte atributo de mensagem:
"customer_interests": {"Type": "String", "Value": "rugby"}
Nem corresponde ao seguinte corpo de mensagem:
{
"customer_interests": "rugby"
}
Curinga
É possível usar o caractere curinga (*) para encontrar o valor correspondente a valores de string em padrões de eventos.
A política a seguir usa o caractere curinga (*):
"customer_interests": [ { "wildcard": "*ball" } ]
Ele corresponde aos seguintes atributos:
{"customer_interests": ["baseball", "basketball"] }