

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# キーの一致
<a name="attribute-key-matching"></a>

フィルターポリシーで `exists` 演算子を使用して、特定のプロパティが存在するか存在しないかに基づいて受信メッセージを照合します。
+ `exists` はリーフノード (構造の末端属性) でのみ機能します。
+ ネストされた JSON 構造内の中間ノードには適用されません。
+ `"exists": true` を使用して、指定されたプロパティを含む受信メッセージと一致します。キーには、null でなく、空でない値が必要です。

  例えば、次のポリシーのプロパティは、`true` の値の `exists` 演算子を使用します。

  ```
  "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` は少なくとも 1 つの属性が存在する場合にのみ一致します。属性のセットが空の場合、フィルターは一致しません。

  例えば、次のポリシーのプロパティは、`false` の値の `exists` 演算子を使用します。

  ```
  "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"]
  }
  ```