

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Corrispondenza di chiave
<a name="attribute-key-matching"></a>

Utilizza l'`exists`operatore in una politica di filtro per abbinare i messaggi in arrivo a seconda che una proprietà specifica sia presente o assente.
+ `exists`funziona solo sui nodi foglia (attributi finali della struttura).
+ Non si applica ai nodi intermedi all'interno di una struttura JSON annidata.
+ Utilizza `"exists": true` per creare corrispondenze con i messaggi in arrivo che includono la proprietà specificata. La chiave deve avere un valore non null e non vuoto.

  Ad esempio, la seguente proprietà di policy utilizza l'operatore `exists` con un valore di `true`:

  ```
  "store": [{"exists": true}]
  ```

  Corrisponde a qualsiasi elenco di attributi di messaggi contenente la chiave attributo `store`, ad esempio:

  ```
  "store": {"Type": "String", "Value": "fans"}
  "customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}
  ```

  Corrisponde anche a uno dei seguenti corpi di messaggi:

  ```
  {
      "store": "fans"
      "customer_interests": ["baseball", "basketball"]
  }
  ```

  Tuttavia, non corrisponde a nessun elenco di attributi di messaggi *senza* la chiave attributo `store`, ad esempio:

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

  Né corrisponde al seguente corpo del messaggio:

  ```
  {
      "customer_interests": ["baseball", "basketball"]
  }
  ```
+ Utilizza `"exists": false` per creare corrispondenze con i messaggi in arrivo che *non* includono la proprietà specificata.
**Nota**  
`"exists": false` genera corrispondenze solo se è presente almeno un attributo. Un set vuoto di attributi non consente al filtro di generare corrispondenze.

  Ad esempio, la seguente proprietà di policy utilizza l'operatore `exists` con un valore di `false`:

  ```
  "store": [{"exists": false}]
  ```

  *Non* corrisponde a nessun elenco di attributi di messaggi contenente la chiave attributo `store`, ad esempio:

  ```
  "store": {"Type": "String", "Value": "fans"}
  "customer_interests": {"Type": "String.Array", "Value": "[\"baseball\", \"basketball\"]"}
  ```

  Non corrisponde nemmeno al seguente corpo del messaggio:

  ```
  {
      "store": "fans"
      "customer_interests": ["baseball", "basketball"]
  }
  ```

  Tuttavia, corrisponde a qualsiasi elenco di attributi di messaggi *senza* la chiave attributo `store`, ad esempio:

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

  Corrisponde anche al seguente corpo del messaggio:

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