Nachrichten-Payload-Format für den EMQX-Broker auf Edge AWS IoT SiteWise - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Nachrichten-Payload-Format für den EMQX-Broker auf Edge AWS IoT SiteWise

Damit die SiteWise IoT-Publisher-Komponente Daten aus Ihrer externen Anwendung verarbeiten und in der AWS IoT SiteWise Cloud veröffentlichen kann, muss die an den Broker gesendete Nutzlast bestimmte Anforderungen erfüllen.

Das Verständnis des Payload-Formats ist der Schlüssel zu einer erfolgreichen MQTT-Kommunikation mit Edge. AWS IoT SiteWise Der Verbindungsaufbau wird zwar in späteren Abschnitten behandelt, wir stellen Ihnen jedoch zunächst die Payload-Anforderungen vor, um Ihnen bei der Planung Ihrer Implementierung zu helfen.

Anforderungen an das MQTT-Thema

Es gibt keine Einschränkungen hinsichtlich der Struktur von MQTT-Themen, einschließlich der Anzahl der verwendeten Ebenen oder Zeichen. Wir empfehlen jedoch, dass das Thema mit dem propertyAlias Feld in der Payload übereinstimmt.

Beispiel für einen Eigenschaftsalias

Wenn das MQTT-Thema lautetsite1/line1/compressor1/temperature, stellen Sie sicher, dass die propertyAlias Treffer übereinstimmen.

{ "assetId": "compressor_asset_01", "propertyAlias": "site1/line1/compressor1/temperature", "propertyId": "temperature_sensor_01", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1683000000 }, "value": { "doubleValue": 23.5 } } ] }

Struktur der JSON-Nutzlast

Die MQTT-Nachrichtennutzdaten sind in JSON geschrieben und folgen dem in der PutAssetPropertyValueEntry API-Referenz definierten Nachrichtenformat.AWS IoT SiteWise

{ "assetId": "string", "propertyAlias": "string", "propertyId": "string", "propertyValues": [ { "quality": "string", "timestamp": { "offsetInNanos": number, "timeInSeconds": number }, "value": { "booleanValue": boolean, "doubleValue": number, "integerValue": number, "stringValue": "string" } } ] }
Anmerkung

Damit eine Nachricht als gültig angesehen werden kann, kann nur eine der folgenden Bedingungen erfüllt sein:

  • Das propertyAlias ist gesetzt, oder

  • assetIdSowohl als auch propertyId sind gesetzt

Das PutAssetPropertyValueEntry hat ein entryId Feld, das in diesem Zusammenhang nicht erforderlich ist.