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.](images/ComponentTypesPredefined.png)
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 anfordern
componentTypeId
.)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.
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 |
---|---|
|
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 |
|
Ein boolescher Wert, der angibt, ob der Eigenschaftswert extern gespeichert wird. Standardmäßig wird der Wert dieser Eigenschaft auf |
|
Ein boolescher Wert, der angibt, ob die Eigenschaft Zeitreihendaten speichert. Der Standardwert dieser Eigenschaft ist |
|
Ein boolescher Wert, der angibt, ob die Eigenschaft einen Wert in einer Entität haben muss, die den Komponententyp verwendet. |
|
Ein DataTypeObjekt, das den Datentyp (z. B. Zeichenfolge, Map, Liste und Maßeinheit) der Eigenschaft angibt. |
|
Ein DataValueObjekt, das den Standardwert der Eigenschaft angibt. |
|
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 |
---|---|
|
Ein DataConnectorObjekt, das die Lambda-Funktion spezifiziert, die eine Verbindung zur externen Datenquelle herstellt. |
|
Eine Liste von Eigenschaften, die die Funktion benötigt, um aus einer externen Datenquelle zu lesen und in diese zu schreiben. |
|
Der Geltungsbereich der Funktion. Wird |
Beispiele, die zeigen, wie Komponententypen erstellt und erweitert werden, finden Sie unterBeispiele für Komponententypen.