Utilisation et création de types de composants - AWS IoT TwinMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation et création de types de composants

Cette rubrique décrit les valeurs et les structures que vous utilisez pour créer un type de AWS IoT TwinMaker composant. Il explique comment créer un objet de requête que vous pouvez transmettre à l'CreateComponentTypeAPI ou en utilisant l'éditeur de type de composant de la AWS IoT TwinMaker console.

Les composants fournissent un contexte pour les propriétés et les données pour leurs entités associées.

Types de composants intégrés

Dans la AWS IoT TwinMaker console, lorsque vous choisissez un espace de travail, puis que vous choisissez Types de composants dans le volet de gauche, les types de composants suivants s'affichent.

  • com.amazon.iotsitewise.resourcesync : type de composant qui synchronise automatiquement vos actifs et vos modèles d' AWS IoT SiteWise actifs et les convertit en entités, composants et types de composants. AWS IoT TwinMaker Pour plus d'informations sur l'utilisation de la synchronisation AWS IoT SiteWise des actifs, consultez la section Synchronisation des actifs avec AWS IoT SiteWise.

  • com.amazon.iottwinmaker.alarm.basic : composant d'alarme de base qui extrait les données d'alarme d'une source externe vers une entité. Ce composant ne contient aucune fonction qui se connecte à une source de données spécifique. Cela signifie que le composant d'alarme est abstrait et peut être hérité par un autre type de composant qui spécifie une source de données et une fonction qui lit à partir de cette source.

  • com.amazon.iottwinmaker.documents : mappage simple des titres aux URL des documents contenant des informations sur une entité.

  • com.amazon.iotsitewise.connector.edgevideo : composant qui extrait la vidéo d'un appareil IoT à l'aide du composant Edge Connector for Kinesis Video Streams vers une entité. AWS IoT Greengrass Le composant Edge Connector for Kinesis Video AWS IoT Greengrass Streams n'est pas AWS IoT TwinMaker un composant, mais plutôt un composant AWS IoT Greengrass prédéfini déployé localement sur votre appareil IoT.

  • com.amazon.iotsitewise.connector : composant qui extrait des données dans une entité. AWS IoT SiteWise

  • com.amazon.iottwinmaker.parameters : composant qui ajoute des paires clé-valeur statiques à une entité.

  • com.amazon.kvs.video : composant qui extrait la vidéo de Kinesis Video Streams vers une entité. AWS IoT TwinMaker

La page de console des types de composants avec une liste de plusieurs types de composants prédéfinis.

Caractéristiques principales des types de AWS IoT TwinMaker composants

La liste suivante décrit les principales fonctionnalités des types de composants.

  • Définitions des propriétés : l'PropertyDefinitionRequestobjet définit une propriété que vous pouvez renseigner dans le compositeur de scène ou avec des données extraites de sources de données externes. Les propriétés statiques que vous définissez sont stockées dans AWS IoT TwinMaker. Les propriétés des séries chronologiques et les autres propriétés extraites de sources de données sont stockées en externe.

    Vous spécifiez les définitions de propriétés dans une chaîne de caractères sur la PropertyDefinitionRequest carte. Chaque chaîne doit être unique à la carte.

  • Fonctions : L'FunctionRequestobjet spécifie une fonction Lambda qui lit et écrit potentiellement dans une source de données externe.

    Un type de composant qui contient une propriété dont la valeur est stockée en externe mais qui n'a pas de fonction correspondante pour récupérer les valeurs est un type de composant abstrait. Vous pouvez étendre les types de composants concrets à partir d'un type de composant abstrait. Vous ne pouvez pas ajouter de types de composants abstraits à une entité. Ils n'apparaissent pas dans le compositeur de scène.

    Vous spécifiez les fonctions à l'intérieur d'une chaîne à FunctionRequest mapper. La chaîne doit spécifier l'un des types de fonctions prédéfinis suivants.

    • dataReader: fonction qui extrait des données d'une source externe.

    • dataReaderByEntity: fonction qui extrait des données d'une source externe.

      Lorsque vous utilisez ce type de lecteur de données, l'opération d'GetPropertyValueHistoryAPI ne prend en charge que les requêtes spécifiques à l'entité pour les propriétés de ce type de composant. (Vous ne pouvez demander l'historique des valeurs de la propriété que pour componentName +entityId.)

    • dataReaderByComponentType: fonction qui extrait des données d'une source externe.

      Lorsque vous utilisez ce type de lecteur de données, l'opération d'GetPropertyValueHistoryAPI prend uniquement en charge les requêtes entre entités pour les propriétés de ce type de composant. (Vous ne pouvez demander l'historique des valeurs de la propriété que pourcomponentTypeId.)

    • dataWriter: fonction qui écrit des données dans une source externe.

    • schemaInitializer: fonction qui initialise automatiquement les valeurs des propriétés chaque fois que vous créez une entité contenant le type de composant.

    L'un des trois types de fonctions de lecture de données est requis dans un type de composant non abstrait.

    Pour un exemple de fonction Lambda qui implémente des composants de télémétrie par flux temporel, y compris des alarmes, consultez le lecteur de données dans Samples.AWS IoT TwinMaker

    Note

    Comme le connecteur d'alarme hérite du type de composant d'alarme abstrait, la fonction Lambda doit renvoyer alarm_key la valeur. Si vous ne renvoyez pas cette valeur, Grafana ne la reconnaîtra pas comme une alarme. Cela est obligatoire pour tous les composants qui renvoient des alarmes.

  • Héritage : les types de composants favorisent la réutilisabilité du code grâce à l'héritage. Un type de composant peut hériter d'un maximum de 10 types de composants parents.

    Utilisez le extendsFrom paramètre pour spécifier les types de composants dont votre type de composant hérite des propriétés et des fonctions.

  • IsSingleton : Certains composants contiennent des propriétés, telles que les coordonnées de localisation, qui ne peuvent être incluses qu'une seule fois dans une entité. Définissez la valeur du isSingleton paramètre sur true pour indiquer que votre type de composant ne peut être inclus qu'une seule fois dans une entité.

Création de définitions de propriétés

Le tableau suivant décrit les paramètres d'unPropertyDefinitionRequest.

Paramètre

Description

isExternalId

Booléen qui indique si la propriété est un identifiant unique (tel qu'un identifiant d' AWS IoT SiteWise actif) d'une valeur de propriété stockée en externe.

La valeur par défaut de cette propriété est false.

isStoredExternally

Booléen qui indique si la valeur de la propriété est stockée en externe.

La valeur par défaut de cette propriété est false.

isTimeSeries

Booléen qui indique si la propriété stocke des données de séries chronologiques.

La valeur par défaut de cette propriété est false

isRequiredInEntity

Booléen qui indique si la propriété doit avoir une valeur dans une entité utilisant le type de composant.

dataType

DataTypeObjet qui spécifie le type de données (chaîne, carte, liste et unité de mesure, par exemple) de la propriété.

defaultValue

DataValueObjet qui spécifie la valeur par défaut de la propriété.

configuration

string-to-string Carte qui indique les informations supplémentaires dont vous avez besoin pour vous connecter à une source de données externe.

Création de fonctions

Le tableau suivant décrit les paramètres d'unFunctionRequest.

Paramètre

Description

implementedBy

DataConnectorObjet qui spécifie la fonction Lambda qui se connecte à la source de données externe.

requiredProperties

Liste des propriétés dont la fonction a besoin pour lire et écrire dans une source de données externe.

scope

La portée de la fonction. WorkspaceÀ utiliser pour les fonctions dont la portée couvre l'ensemble de l'espace de travail. EntityÀ utiliser pour les fonctions dont la portée est limitée à l'entité qui contient le composant.

Pour des exemples montrant comment créer et étendre des types de composants, consultezExemples de types de composants.