

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à.

# AWS implementazione del modello di dati Matter
<a name="matter-data-model"></a>

L' AWS implementazione del Matter Data Model gestisce tutte le comunicazioni tra le integrazioni gestite e i provider cloud di terze parti.

Per ulteriori informazioni, consulta [Matter Data Model: Developer Resources](https://csa-iot.org/resources/developer-resources/page/2/?dr_keywords&dr_solution%5B0%5D=935&dr_lang=1019).

**Gerarchia dei dispositivi**

Esistono due elementi di dati utilizzati per descrivere un dispositivo: `endpoint` e`cluster`.

**`endpoint`**

`endpoint`Rappresenta le interfacce o i servizi logici offerti dalla funzionalità.

```
{
    "id": { "type":"string"},
    "clusters": Cluster[]
}
```

**`cluster`**

`cluster`Rappresenta le funzionalità del dispositivo.

```
{
    "id": "hexadecimalString",
   "revision": "string"        // optional
    "attributes": AttributeMap<String attributeId, JSONNode>,
   "commands": CommandMap<String commandId, JSONNode>,
   "events": EventMap<String eventId, JsonNode>
}
```

Per l'elemento `cluster` dati, ci sono tre elementi che lo compongono: `attribute``command`, e`event`. Possono essere utilizzati per interagire e monitorare il dispositivo.
+ **Attributo**: stati mantenuti dal dispositivo, ad esempio l'attributo del livello di luminosità corrente di una luce dimmerabile.
  + 

    ```
    {
        "id" (hexadecimalString): (JsonNode) value
    }
    ```
+ **Comando**: attività che possono essere eseguite, come bloccare una porta su una serratura. I comandi possono generare risposte e risultati.
  + 

    ```
    "id": {
        "fieldId": "fieldValue",
        ...
        "responseCode": HTTPResponseCode,
        "errors": { 
            "code": "string",
            "message": "string"
        }
    }
    ```
+ **Evento**: essenzialmente una registrazione delle transizioni di stato passate. Sebbene `attributes` rappresentino gli stati attuali, gli eventi sono un diario del passato e includono un contatore che aumenta in modo monotono, un timestamp e una priorità. Consentono di catturare le transizioni di stato e la modellazione dei dati che non è facilmente realizzabile. `attributes`
  + 

    ```
    "id": {
        "fieldId": "fieldValue",
        ...
    }
    ```