Freigeben über


Grundlegendes zu Nachrichtenschemas

Die Schemaregistrierung, ein Feature, das von der Azure-Geräteregistrierung Preview bereitgestellt wird, ist ein synchronisiertes Repository in der Cloud und am Edge. In der Schemaregistrierung werden die Definitionen von Nachrichten gespeichert, die von Edgeobjekten stammen, und anschließend wird eine API für den Zugriff auf diese Schemas am Edge verfügbar gemacht.

Der Connector für OPC UA kann Nachrichtenschemas erstellen und sie der Schemaregistrierung hinzufügen, oder Kunden können Schemas in die Webbenutzeroberfläche für Vorgänge hochladen oder ARM-/Bicep-Vorlagen verwenden.

Edgedienste verwenden Nachrichtenschemas, um Nachrichten zu filtern und zu transformieren, während sie über Ihr Industrial Edge-Szenario geleitet werden.

Schemas sind Dokumente, die das Format einer Nachricht und deren Inhalt beschreiben, um die Verarbeitung und Kontextualisierung zu ermöglichen.

Nachrichtenschemadefinitionen

Die Schemaregistrierung erwartet die folgenden erforderlichen Felder in einem Nachrichtenschema:

Pflichtfeld Definition
$schema Entweder http://json-schema.org/draft-07/schema# oder Delta/1.0. In Datenflüssen werden JSON-Schemas für Quellendpunkte und Delta-Schemas für Zielendpunkte verwendet.
type Object
properties Die Nachrichtendefinition.

Beispielschemas

Die folgenden Beispielschemas enthalten Beispiele zum Definieren von Nachrichtenschemas in jedem Format.

JSON:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "name": "foobarbaz",
  "description": "A representation of an event",
  "type": "object",
  "required": [ "dtstart", "summary" ],
  "properties": {
    "summary": {
      "type": "string"
    },
    "location": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "duration": {
      "type": "string",
      "description": "Event duration"
    }
  }
}

Delta:

{
    "$schema": "Delta/1.0",
    "type": "object",
    "properties": {
        "type": "struct",
        "fields": [
            { "name": "asset_id", "type": "string", "nullable": false, "metadata": {} },
            { "name": "asset_name", "type": "string", "nullable": false, "metadata": {} },
            { "name": "location", "type": "string", "nullable": false, "metadata": {} },
            { "name": "manufacturer", "type": "string", "nullable": false, "metadata": {} },
            { "name": "production_date", "type": "string", "nullable": false, "metadata": {} },
            { "name": "serial_number", "type": "string", "nullable": false, "metadata": {} },
            { "name": "temperature", "type": "double", "nullable": false, "metadata": {} }
        ]
    }
}

Verwenden von Nachrichtenschemas für Datenflüsse

Nachrichtenschemas werden in allen drei Phasen eines Datenflusses verwendet: Definieren der Quelleingabe, Anwenden von Datentransformationen und Erstellen der Zielausgabe.

Eingabeschema

Jede Datenquelle kann optional ein Nachrichtenschema angeben. Wenn ein Schema für eine Datenquelle definiert ist, werden eingehende Nachrichten, die nicht mit dem Schema übereinstimmen, gelöscht.

Ressourcenquellen verfügen über ein vordefiniertes Nachrichtenschema, das vom Connector für OPC UA erstellt wurde.

Schemas können für MQTT-Quellen hochgeladen werden. Derzeit unterstützt Azure IoT Einsatz JSON für Quellschemas, auch als Eingabeschemas bezeichnet. In der Einsatzumgebung können Sie ein vorhandenes Schema auswählen oder ein Schema hochladen, während Sie eine MQTT-Quelle definieren:

Screenshot, der das Hochladen eines Nachrichtenschemas im Einsatz-Benutzeroberfläche-Portal zeigt.

Transformation

Die Einsatz-Benutzeroberfläche verwendet das Eingabeschema als Ausgangspunkt für Ihre Daten und erleichtert die Auswahl von Transformationen basierend auf dem bekannten Eingabemeldungsformat.

Ausgabeschema

Ausgabeschemas sind Datenflusszielen zugeordnet und werden nur für Datenflüsse verwendet, die lokalen Speicher, Fabric, Azure Storage (ADLS Gen2) oder Azure Data Explorer als Zielendpunkt auswählen. Derzeit unterstützt die Azure IoT Einsatz-Benutzeroberfläche nur die Parquet-Ausgabe für Ausgabeschemas.

Hinweis: Das Delta-Schemaformat wird sowohl für die Parquet- als auch für die Delta-Ausgabe verwendet.

Bei diesen Datenflüssen wendet die Betriebsoberfläche alle Transformationen auf das Eingabeschema an und erstellt dann ein neues Schema im Delta-Format. Wenn die benutzerdefinierte Datenflussressource (Dataflow Custom Resource, CR) erstellt wird, enthält sie einen schemaRef-Wert, der auf das generierte Schema verweist, das in der Schemaregistrierung gespeichert ist.