Correspondência de chaves
Use o operador exists em uma política de filtro para combinar as mensagens recebidas com base na presença ou ausência de uma propriedade específica.
-
existsfunciona somente nos nós leaf (atributos finais na estrutura). -
Não se aplica a nós intermediários em uma estrutura JSON aninhada.
-
Use
"exists": truepara estabelecer correspondência com mensagens recebidas que incluam a propriedade especificada. A chave deve ter um valor não nulo e não vazio.Por exemplo, a propriedade de política seguinte usa o operador
existscom um valor detrue:"store": [{"exists": true}]Ela estabelece correspondência com qualquer atributo de mensagem que contenha a chave de atributo
store, como a seguinte:"store": {"Type": "String", "Value": "fans"} "customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}Também estabelece correspondência com um dos seguintes corpos de mensagem:
{ "store": "fans" "customer_interests": ["baseball", "basketball"] }No entanto, não estabelece correspondência com nenhum atributo de mensagem sem a chave de atributo
store, como o seguinte:"customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}Nem corresponde ao seguinte corpo de mensagem:
{ "customer_interests": ["baseball", "basketball"] } -
Use
"exists": falsepara estabelecer correspondência com mensagens recebidas que não incluam a propriedade especificada.nota
"exists": falsesó estabelecerá correspondência se pelo menos um atributo estiver presente. Um conjunto vazio de atributos impossibilita que o filtro estabeleça correspondência.Por exemplo, a propriedade de política seguinte usa o operador
existscom um valor defalse:"store": [{"exists": false}]Ela não estabelece correspondência com nenhum atributo de mensagem que contenha a chave de atributo
store, como o seguinte:"store": {"Type": "String", "Value": "fans"} "customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}Também não estabelece correspondência com o seguinte corpo de mensagem:
{ "store": "fans" "customer_interests": ["baseball", "basketball"] }No entanto, estabelece correspondência com qualquer atributo de mensagem sem a chave de atributo
store, como o seguinte:"customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}Também estabelece correspondência com o seguinte corpo de mensagem:
{ "customer_interests": ["baseball", "basketball"] }