DTMI-Validierungserweiterungsreferenz

Fügen Sie Ihrem digitalen Zwillingsmodell eine DTMI-Validierungserweiterung hinzu, damit Sie Datenvalidierungsregeln mit JSON-Schemavalidierungseigenschaften definieren können.

Verwenden Sie in digitalen Zwillingsmodellen JSON-Schemavalidierungsspezifikationen, um Validierungseigenschaften zu den validierten aufgenommenen Daten hinzuzufügen. Informationen zur Verwendung der DTMI-Erweiterung in Ihrem digitalen Zwillingsmodell finden Sie unter Szenario: JSON-Schemavalidierung zu einem digitalen Zwillingsmodell hinzufügen.

  • Für primitive Eigenschaften, wie Zeichenfolgen oder Ganzzahlen, werden Validierungs-Constraints als gleichgeordnete Eigenschaften neben dem Schemafeld in der Eigenschaft oder Telemetriedefinition hinzugefügt.
  • Für Arrays gelten Validierungen für das Array selbst, wie minItems oder uniqueItems, als gleichgeordnete Elemente des Arrayschemas, während Constraints, die für jedes Element gelten, wie Wertebereiche oder Zeichenfolgenmuster, die innerhalb des Arrayschemas platziert werden, als gleichgeordnete Eigenschaften für elementSchema gelten.

Die Plattform IoT unterstützt die folgenden JSON-Schemavalidierungsschlüsselwörter:

  • Numerische Instanzen, darunter: number und integer
  • Zeichenfolgen: "schema": "string"
  • Arrays minItem, maxItems und uniqueItems
Hinweis

Wenn Sie bei der Validierung von exclusiveMinimum und exclusiveMaximum den Schematyp unsignedLong verwenden, können Werte in doppelte Werte konvertiert werden, wenn sie den Bereich einer Standardlänge überschreiten. Diese Konvertierung kann zu einem Nachkommastellenverlust führen, sodass Werte in der Nähe von exclusiveMinimum oder exclusiveMaximum die Validierung möglicherweise nicht bestehen, selbst wenn sie als gültig erscheinen.
ValidierungDatentypGültig für diese @typesGilt für SchematypenBeispiele

exclusiveMinimum

exclusiveMaximum

Nummer

Array

CommandRequest

CommandResponse

Aufzählung

Feld

MapValue

Eigenschaft

Telemetrie

  • (Numerisch) Primitive Schemas
  • Array von (numerischen) primitiven Schemas
{
   "@type": "Telemetry",
   "name": "minMaxProperty",
   "schema": "integer",
   "exclusiveMinimum": 0,
   "exclusiveMaximum": 100
}
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "integer",
      "exclusiveMinimum": 1,
      "exclusiveMaximum": 10
}

minimum

maximum

Nummer

Array

CommandRequest

CommandResponse

Aufzählung

Feld

MapValue

Eigenschaft

Telemetrie

  • (Numerisch) Primitive Schemas
  • Array von (numerischen) primitiven Schemas
{
   "@type": "Telemetry",
   "name": "minMaxProperty",
   "schema": "integer",
   "minimum": 0,
   "maximum": 100
}
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "integer",
      "minimum": 1,
      "maximum": 10
}

minLength

maxLength

Ganzzahl

Array

CommandRequest

CommandResponse

Aufzählung

Feld

MapKey

MapValue

Eigenschaft

Telemetrie

  • (Zeichenfolge) Primitive Schemas
  • Array von (Zeichenfolgen-)primitiven Schemas
{
   "@type": "Telemetry",
   "name": "minMaxLengthProperty",
   "schema": "string",
   "minLength": 0,
   "maxLength": 2048
}
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "string",
      "minLength": 1,
      "maxLength": 2048
}
multipleOfNummer

Array

CommandRequest

CommandResponse

Aufzählung

Feld

MapValue

Eigenschaft

Telemetrie

  • (Numerisch) Primitive Schemas
  • Arrays von (numerischen) primitiven Schemas
{
   "@type": "Telemetry",
   "name": "minMaxProperty",
   "schema": "integer",
   "multipleOf": 2
}
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "integer",
      "multipleOf": 2
}
patternZeichenfolge

Array

CommandRequest

CommandResponse

Aufzählung

Feld

MapKey

MapValue

Eigenschaft

Telemetrie

  • (Zeichenfolge) Primitive Schemas
  • Array von (Zeichenfolgen-)primitiven Schemas
{
   "@type": "Telemetry",
   "name": "patternProperty",
   "schema": "string",
   "pattern": "^[a-zA-Z]+$"
}
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "string",
      "pattern": "^[a-zA-Z]+$"
}

minItems

maxItems

Ganzzahl

Array

CommandRequest

CommandResponse

Feld

MapValue

Eigenschaft

Telemetrie

Arrayschema (alle primitiven Typen)
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "string"
   },
   "minItems": 1,
   "maxItems": 10
}
uniqueItemsBoolescher Wert

Array

CommandRequest

CommandResponse

Feld

MapValue

Eigenschaft

Telemetrie

Arrayschema (alle primitiven Typen)
{
   "@type": "Property",
   "name": "arrayDataProperty",
   "schema": {
      "@type": "Array",
      "elementSchema": "string"
   },
   "uniqueItems": true
}