本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
索引鍵比對
在篩選條件政策中使用 exists 運算子,根據特定屬性是否存在,來比對傳入的訊息。
-
exists僅適用於分葉節點 (結構中的最終屬性)。 -
它不適用於巢狀 JSON 結構中的中繼節點。
-
使用
"exists": true配對包含指定屬性的傳入訊息。該鍵必須具有非空值和非空值。例如,下列政策屬性會使用
exists運算子及為true的值:"store": [{"exists": true}]它符合具有
store屬性索引鍵的任何訊息屬性,如下所示:"store": {"Type": "String", "Value": "fans"} "customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}它也符合以下任一訊息內文:
{ "store": "fans" "customer_interests": ["baseball", "basketball"] }不過,不符合不具有
store屬性索引鍵的任何訊息屬性,如下所示:"customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}它也不符合以下訊息內文:
{ "customer_interests": ["baseball", "basketball"] } -
使用
"exists": false配對不包含指定屬性的傳入訊息。注意
"exists": false只有在至少有一個屬性存在時才相符。一組空白的屬性會導致篩選條件不相符。例如,下列政策屬性會使用
exists運算子及為false的值:"store": [{"exists": false}]它不符合具有
store屬性索引鍵的任何訊息,如下所示:"store": {"Type": "String", "Value": "fans"} "customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}它也不符合以下訊息內文:
{ "store": "fans" "customer_interests": ["baseball", "basketball"] }不過,它符合不具有
store屬性索引鍵的任何訊息屬性,如下所示:"customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}它也符合以下訊息內文:
{ "customer_interests": ["baseball", "basketball"] }