Komponententypen verwenden und erstellen - AWS IoT TwinMaker

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.

Komponententypen verwenden und erstellen

Dieses Thema führt Sie durch die Werte und Strukturen, die Sie zum Erstellen eines AWS IoT TwinMaker Komponententyps verwenden. Es zeigt Ihnen, wie Sie ein Anforderungsobjekt erstellen, das Sie an die CreateComponentTypeAPI oder mithilfe des Komponententyp-Editors in der AWS IoT TwinMaker Konsole übergeben können.

Komponenten bieten Kontext für Eigenschaften und Daten für die zugehörigen Entitäten.

Integrierte Komponententypen

Wenn Sie in der AWS IoT TwinMaker Konsole einen Workspace auswählen und dann im linken Bereich Komponententypen auswählen, werden Ihnen die folgenden Komponententypen angezeigt.

  • com.amazon.iotsitewise.resourcesync: Ein Komponententyp, der Ihre AWS IoT SiteWise Ressourcen und Objektmodelle automatisch synchronisiert und sie in Entitätskomponenten und Komponententypen konvertiert. AWS IoT TwinMaker Weitere Informationen zur Verwendung der Asset-Synchronisierung finden Sie unter Asset-Synchronisierung mit. AWS IoT SiteWiseAWS IoT SiteWise

  • com.amazon.iottwinmaker.alarm.basic: Eine grundlegende Alarmkomponente, die Alarmdaten aus einer externen Quelle an eine Entität überträgt. Diese Komponente enthält keine Funktion, die eine Verbindung zu einer bestimmten Datenquelle herstellt. Das bedeutet, dass die Alarmkomponente abstrakt ist und von einem anderen Komponententyp vererbt werden kann, der eine Datenquelle und eine Funktion angibt, die aus dieser Quelle liest.

  • com.amazon.iottwinmaker.documents: Eine einfache Zuordnung von Titeln zu URLs für Dokumente, die Informationen über eine Entität enthalten.

  • com.amazon.iotsitewise.connector.edgevideo: Eine Komponente, die mithilfe der Komponente Edge Connector for Kinesis Video Streams Video Videos von einem IoT-Gerät in eine Entität überträgt. AWS IoT Greengrass Die AWS IoT Greengrass Komponente Edge Connector for Kinesis Video Streams ist keine AWS IoT TwinMaker Komponente, sondern eine vorgefertigte AWS IoT Greengrass Komponente, die lokal auf Ihrem IoT-Gerät bereitgestellt wird.

  • com.amazon.iotsitewise.connector: Eine Komponente, die Daten in eine Entität überträgt. AWS IoT SiteWise

  • com.amazon.iottwinmaker.parameters: Eine Komponente, die einer Entität statische Schlüssel-Wert-Paare hinzufügt.

  • com.amazon.kvs.video: Eine Komponente, die Videos aus Kinesis Video Streams in eine Entität überträgt. AWS IoT TwinMaker

Die Konsolenseite mit den Komponententypen mit einer Liste mehrerer vordefinierter Komponententypen.

Kernmerkmale der AWS IoT TwinMaker Komponententypen

In der folgenden Liste werden die Kernfunktionen der Komponententypen beschrieben.

  • Eigenschaftsdefinitionen: Das PropertyDefinitionRequestObjekt definiert eine Eigenschaft, die Sie im Scene Composer auffüllen können, oder sie kann mit Daten aus externen Datenquellen gefüllt werden. Statische Eigenschaften, die Sie festlegen, werden in AWS IoT TwinMaker gespeichert. Zeitreiheneigenschaften und andere Eigenschaften, die aus Datenquellen abgerufen werden, werden extern gespeichert.

    Sie geben Eigenschaftsdefinitionen innerhalb einer Zeichenfolge für die PropertyDefinitionRequest Map an. Jede Zeichenfolge muss für die Map eindeutig sein.

  • Funktionen: Das FunctionRequestObjekt spezifiziert eine Lambda-Funktion, die aus einer externen Datenquelle liest und möglicherweise in eine externe Datenquelle schreibt.

    Ein Komponententyp, der eine Eigenschaft mit einem Wert enthält, der extern gespeichert ist, für den jedoch keine entsprechende Funktion zum Abrufen der Werte vorhanden ist, ist ein abstrakter Komponententyp. Sie können konkrete Komponententypen von einem abstrakten Komponententyp aus erweitern. Sie können einer Entität keine abstrakten Komponententypen hinzufügen. Sie erscheinen nicht im Scene Composer.

    Sie geben Funktionen innerhalb einer Zeichenfolge an, die zugeordnet werden FunctionRequest sollen. Die Zeichenfolge muss einen der folgenden vordefinierten Funktionstypen angeben.

    • dataReader: Eine Funktion, die Daten aus einer externen Quelle bezieht.

    • dataReaderByEntity: Eine Funktion, die Daten aus einer externen Quelle bezieht.

      Wenn Sie diese Art von Datenlesegerät verwenden, unterstützt der GetPropertyValueHistoryAPI-Vorgang nur entitätsspezifische Abfragen für Eigenschaften in diesem Komponententyp. (Sie können den Verlauf der Eigenschaftswerte nur für componentName + entityId anfordern.)

    • dataReaderByComponentType: Eine Funktion, die Daten aus einer externen Quelle bezieht.

      Wenn Sie diese Art von Datenlesegerät verwenden, unterstützt der GetPropertyValueHistoryAPI-Vorgang nur entitätsübergreifende Abfragen für Eigenschaften in diesem Komponententyp. (Sie können nur die Historie der Eigenschaftswerte für anforderncomponentTypeId.)

    • dataWriter: Eine Funktion, die Daten in eine externe Quelle schreibt.

    • schemaInitializer: Eine Funktion, die Eigenschaftswerte automatisch initialisiert, wenn Sie eine Entität erstellen, die den Komponententyp enthält.

    Bei einem nicht abstrakten Komponententyp ist einer der drei Typen von Datenlesefunktionen erforderlich.

    Ein Beispiel für eine Lambda-Funktion, die Time-Stream-Telemetriekomponenten, einschließlich Alarme, implementiert, finden Sie im Datenlesegerät unter Beispiele.AWS IoT TwinMaker

    Anmerkung

    Da der Alarmanschluss vom abstrakten Alarmkomponententyp erbt, muss die Lambda-Funktion den alarm_key Wert zurückgeben. Wenn Sie diesen Wert nicht zurückgeben, erkennt Grafana ihn nicht als Alarm. Dies ist für alle Komponenten erforderlich, die Alarme zurückgeben.

  • Vererbung: Komponententypen fördern die Wiederverwendbarkeit von Code durch Vererbung. Ein Komponententyp kann bis zu 10 übergeordnete Komponententypen erben.

    Verwenden Sie den extendsFrom Parameter, um die Komponententypen anzugeben, von denen Ihr Komponententyp Eigenschaften und Funktionen erbt.

  • isSingleton: Einige Komponenten enthalten Eigenschaften, wie z. B. Ortskoordinaten, die einer Entität nicht mehr als einmal hinzugefügt werden können. Setzen Sie den Wert des isSingleton Parameters auf, true um anzugeben, dass Ihr Komponententyp nur einmal in einer Entität enthalten sein kann.

Eigenschaftsdefinitionen erstellen

In der folgenden Tabelle werden die Parameter von a beschriebenPropertyDefinitionRequest.

Parameter

Beschreibung

isExternalId

Ein boolescher Wert, der angibt, ob es sich bei der Eigenschaft um einen eindeutigen Bezeichner (z. B. eine AWS IoT SiteWise Asset-ID) eines extern gespeicherten Eigenschaftswerts handelt.

Standardmäßig wird der Wert dieser Eigenschaft auf false gesetzt.

isStoredExternally

Ein boolescher Wert, der angibt, ob der Eigenschaftswert extern gespeichert wird.

Standardmäßig wird der Wert dieser Eigenschaft auf false gesetzt.

isTimeSeries

Ein boolescher Wert, der angibt, ob die Eigenschaft Zeitreihendaten speichert.

Der Standardwert dieser Eigenschaft ist false

isRequiredInEntity

Ein boolescher Wert, der angibt, ob die Eigenschaft einen Wert in einer Entität haben muss, die den Komponententyp verwendet.

dataType

Ein DataTypeObjekt, das den Datentyp (z. B. Zeichenfolge, Map, Liste und Maßeinheit) der Eigenschaft angibt.

defaultValue

Ein DataValueObjekt, das den Standardwert der Eigenschaft angibt.

configuration

Eine string-to-string Map, die zusätzliche Informationen angibt, die Sie für die Verbindung mit einer externen Datenquelle benötigen.

Erstellung von Funktionen

In der folgenden Tabelle werden die Parameter von a beschriebenFunctionRequest.

Parameter

Beschreibung

implementedBy

Ein DataConnectorObjekt, das die Lambda-Funktion spezifiziert, die eine Verbindung zur externen Datenquelle herstellt.

requiredProperties

Eine Liste von Eigenschaften, die die Funktion benötigt, um aus einer externen Datenquelle zu lesen und in diese zu schreiben.

scope

Der Geltungsbereich der Funktion. Wird Workspace für Funktionen verwendet, deren Geltungsbereich sich über einen gesamten Workspace erstreckt. Wird Entity für Funktionen verwendet, deren Gültigkeitsbereich auf die Entität beschränkt ist, die die Komponente enthält.

Beispiele, die zeigen, wie Komponententypen erstellt und erweitert werden, finden Sie unterBeispiele für Komponententypen.