Riferimento estensione convalida DTMI
Aggiungere un'estensione di convalida DTMI al modello gemello digitale in modo da poter definire le regole di convalida dei dati utilizzando le proprietà di convalida dello schema JSON.
Nei modelli digital twin, utilizzare JSON Schema Validation Specifications per aggiungere proprietà di convalida ai dati inclusi di convalida. Per informazioni su come utilizzare l'estensione DTMI nel modello digital twin, vedere Scenario: Add JSON Schema Validation to a Digital Twin Model.
- Per le proprietà primitive, ad esempio stringhe o numeri interi, i vincoli di convalida vengono aggiunti come proprietà di pari livello accanto al campo dello schema all'interno della proprietà o della definizione di telemetria.
- Per arrays, le convalide si applicano all'array stesso, ad esempio
minItemsouniqueItems, sono definite come pari livello dello schema dell'array, mentre i vincoli che si applicano a ciascun elemento, ad esempio gli intervalli di valori o i pattern di stringhe, che vengono posizionati all'interno dello schema dell'array, come proprietà di pari livello aelementSchema.
La piattaforma IoT supporta le seguenti parole chiave di convalida dello schema JSON:
- Istanze numeriche, incluse:
numbereinteger - Stringhe:
"schema": "string" - Array
minItem,maxItemseuniqueItems
Per la convalida
exclusiveMinimum e exclusiveMaximum, quando si utilizza il tipo di schema unsignedLong, i valori possono essere convertiti in valori doppi se superano l'intervallo di un valore standard lungo. Questa conversione può comportare una perdita di precisione, pertanto i valori vicini a exclusiveMinimum o exclusiveMaximum potrebbero non superare la convalida anche se sembrano essere validi.| Convalida | Tipo di dati | Valido su @types | Si applica ai tipi di schema | Esempi |
|---|---|---|---|---|
| Numero | Array CommandRequest CommandResponse Enumerazione Campo MapValue Property Telemetria |
| |
| Numero | Array CommandRequest CommandResponse Enumerazione Campo MapValue Property Telemetria |
| |
| Numero intero | Array CommandRequest CommandResponse Enumerazione Campo MapKey MapValue Property Telemetria |
| |
multipleOf | Numero | Array CommandRequest CommandResponse Enumerazione Campo MapValue Property Telemetria |
| |
pattern | Stringa | Array CommandRequest CommandResponse Enumerazione Campo MapKey MapValue Property Telemetria |
| |
| Numero intero | Array CommandRequest CommandResponse Campo MapValue Property Telemetria | Schema array (tutti i tipi primitivi) | |
uniqueItems | Boolean | Array CommandRequest CommandResponse Campo MapValue Property Telemetria | Schema array (tutti i tipi primitivi) | |