Beispiele für den Import von Metadaten - 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.

Beispiele für den Import von Metadaten

In diesem Abschnitt wird gezeigt, wie Sie Metadatendateien erstellen, um Asset-Modelle und Assets mit einem einzigen Massenimportvorgang zu importieren.

Beispiel für einen Massenimport

Sie können viele Asset-Modelle und Assets mit einem einzigen Massenimportvorgang importieren. Das folgende Beispiel zeigt, wie Sie zu diesem Zweck eine Metadatendatei erstellen.

In diesem Beispielszenario haben Sie verschiedene Baustellen, auf denen Industrieroboter in Arbeitszellen installiert sind.

In dem Beispiel werden zwei Anlagenmodelle definiert:

  • RobotModel1: Dieses Anlagenmodell stellt einen bestimmten Robotertyp dar, den Sie auf Ihren Baustellen einsetzen. Der Roboter hat eine Messeigenschaft,Temperature.

  • WorkCell: Dieses Anlagenmodell stellt eine Sammlung von Robotern auf einer Ihrer Baustellen dar. Das Anlagenmodell definiert eine HierarchierobotHierarchyOEM1, um die Beziehung zwischen Robotern in einer Arbeitszelle darzustellen.

Das Beispiel definiert auch einige Vermögenswerte:

  • WorkCell1: eine Arbeitszelle an Ihrem Standort in Boston

  • RobotArm123456: ein Roboter in dieser Arbeitszelle

  • RobotArm987654: ein weiterer Roboter in dieser Arbeitszelle

Die folgende JSON-Metadatendatei definiert diese Asset-Modelle und Assets. Wenn Sie einen Massenimport mit diesen Metadaten ausführen, werden die darin enthaltenen Asset-Modelle und Assets AWS IoT SiteWise einschließlich ihrer hierarchischen Beziehungen erstellt.

{ "assetModels": [ { "assetModelExternalId": "Robot.OEM1.3536", "assetModelName": "RobotModel1", "assetModelProperties": [ { "dataType": "DOUBLE", "externalId": "Temperature", "name": "Temperature", "type": { "measurement": { "processingConfig": { "forwardingConfig": { "state": "ENABLED" } } } }, "unit": "fahrenheit" } ] }, { "assetModelExternalId": "ISA95.WorkCell", "assetModelName": "WorkCell", "assetModelProperties": [], "assetModelHierarchies": [ { "externalId": "workCellHierarchyWithOEM1Robot", "name": "robotHierarchyOEM1", "childAssetModelExternalId": "Robot.OEM1.3536" } ] } ], "assets": [ { "assetExternalId": "Robot.OEM1.3536.123456", "assetName": "RobotArm123456", "assetModelExternalId": "Robot.OEM1.3536" }, { "assetExternalId": "Robot.OEM1.3536.987654", "assetName": "RobotArm987654", "assetModelExternalId": "Robot.OEM1.3536" }, { "assetExternalId": "BostonSite.Area1.Line1.WorkCell1", "assetName": "WorkCell1", "assetModelExternalId": "ISA95.WorkCell", "assetHierarchies": [ { "externalId": "workCellHierarchyWithOEM1Robot", "childAssetExternalId": "Robot.OEM1.3536.123456" }, { "externalId": "workCellHierarchyWithOEM1Robot", "childAssetExternalId": "Robot.OEM1.3536.987654" } ] } ] }

Beispiel für die erstmalige Einbindung von Modellen und Ressourcen

In diesem Beispielszenario gibt es in einem Unternehmen verschiedene Baustellen mit Industrierobotern.

Das Beispiel definiert mehrere Anlagenmodelle:

  • Sample_Enterprise— Dieses Vermögensmodell steht für das Unternehmen, zu dem die Standorte gehören. Das Anlagenmodell definiert eine HierarchieEnterprise to Site, um die Beziehung der Standorte zum Unternehmen darzustellen.

  • Sample_Site— Dieses Anlagenmodell repräsentiert die Produktionsstätten innerhalb des Unternehmens. Das Anlagenmodell definiert eine HierarchieSite to Line, um die Beziehung der Linien zum Standort darzustellen.

  • Sample_Welding Line— Dieses Anlagenmodell stellt eine Montagelinie innerhalb von Baustellen dar. Das Anlagenmodell definiert eine HierarchieLine to Robot, um die Beziehung der Roboter zur Linie darzustellen.

  • Sample_Welding Robot— Dieses Anlagenmodell steht für einen bestimmten Robotertyp auf Ihren Baustellen.

Das Beispiel definiert auch Vermögenswerte auf der Grundlage der Asset-Modelle.

  • Sample_AnyCompany Motor— Dieses Asset wird anhand des Sample_Enterprise Asset-Modells erstellt.

  • Sample_Chicago— Dieses Asset wurde anhand des Sample_Site Asset-Modells erstellt.

  • Sample_Welding Line 1— Dieses Asset wurde anhand des Sample_Welding Line Asset-Modells erstellt.

  • Sample_Welding Robot 1— Dieses Asset wurde anhand des Sample_Welding Robot Asset-Modells erstellt.

  • Sample_Welding Robot 2— Dieses Asset wurde anhand des Sample_Welding Robot Asset-Modells erstellt.

Die folgende JSON-Metadatendatei definiert diese Asset-Modelle und Assets. Wenn Sie einen Massenimport mit diesen Metadaten ausführen, werden die darin enthaltenen Asset-Modelle und Assets AWS IoT SiteWise einschließlich ihrer hierarchischen Beziehungen erstellt.

{ "assetModels": [ { "assetModelExternalId": "External_Id_Welding_Robot", "assetModelName": "Sample_Welding Robot", "assetModelProperties": [ { "dataType": "STRING", "externalId": "External_Id_Welding_Robot_Serial_Number", "name": "Serial Number", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Cycle_Count", "name": "CycleCount", "type": { "measurement": {} }, "unit": "EA" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Current", "name": "Joint 1 Current", "type": { "measurement": {} }, "unit": "Amps" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Max_Current", "name": "Max Joint 1 Current", "type": { "metric": { "expression": "max(joint1current)", "variables": [ { "name": "joint1current", "value": { "propertyExternalId": "External_Id_Welding_Robot_Joint_1_Current" } } ], "window": { "tumbling": { "interval": "5m" } } } }, "unit": "Amps" } ] }, { "assetModelExternalId": "External_Id_Welding_Line", "assetModelName": "Sample_Welding Line", "assetModelProperties": [ { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Line_Availability", "name": "Availability", "type": { "measurement": {} }, "unit": "%" } ], "assetModelHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "name": "Line to Robot", "childAssetModelExternalId": "External_Id_Welding_Robot" } ] }, { "assetModelExternalId": "External_Id_Site", "assetModelName": "Sample_Site", "assetModelProperties": [ { "dataType": "STRING", "externalId": "External_Id_Site_Street_Address", "name": "Street Address", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" } ], "assetModelHierarchies": [ { "externalId": "External_Id_Site_TO_Line", "name": "Site to Line", "childAssetModelExternalId": "External_Id_Welding_Line" } ] }, { "assetModelExternalId": "External_Id_Enterprise", "assetModelName": "Sample_Enterprise", "assetModelProperties": [ { "dataType": "STRING", "name": "Company Name", "externalId": "External_Id_Enterprise_Company_Name", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" } ], "assetModelHierarchies": [ { "externalId": "External_Id_Enterprise_TO_Site", "name": "Enterprise to Site", "childAssetModelExternalId": "External_Id_Site" } ] } ], "assets": [ { "assetExternalId": "External_Id_Welding_Robot_1", "assetName": "Sample_Welding Robot 1", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S1000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S1000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S1000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Robot_2", "assetName": "Sample_Welding Robot 2", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S2000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S2000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S2000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Line_1", "assetName": "Sample_Welding Line 1", "assetModelExternalId": "External_Id_Welding_Line", "assetProperties": [ { "externalId": "External_Id_Welding_Line_Availability", "alias": "AnyCompany/Chicago/Welding Line/Availability" } ], "assetHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_1" }, { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_2" } ] }, { "assetExternalId": "External_Id_Site_Chicago", "assetName": "Sample_Chicago", "assetModelExternalId": "External_Id_Site", "assetHierarchies": [ { "externalId": "External_Id_Site_TO_Line", "childAssetExternalId": "External_Id_Welding_Line_1" } ] }, { "assetExternalId": "External_Id_Enterprise_AnyCompany", "assetName": "Sample_AnyEnterprise Motor", "assetModelExternalId": "External_Id_Enterprise", "assetHierarchies": [ { "externalId": "External_Id_Enterprise_TO_Site", "childAssetExternalId": "External_Id_Site_Chicago" } ] } ] }

Der folgende Screenshot zeigt Modelle, die AWS-IoT-SiteWise-Konsole nach der Ausführung des vorherigen Codebeispiels angezeigt werden.

AWS IoT SiteWise Modelle mit Asset- und Asset-Modellen.

Der folgende Screenshot zeigt Modelle, Anlagen und Hierarchien, die AWS-IoT-SiteWise-Konsole nach der Ausführung des vorherigen Codebeispiels angezeigt werden.

AWS IoT SiteWise Modelle mit Assets, Asset-Modellen und Hierarchien.

Beispiel für das Onboarding zusätzlicher Ressourcen

In diesem Beispiel werden zusätzliche Vermögenswerte definiert, die in ein vorhandenes Vermögensmodell in Ihrem Konto importiert werden sollen:

  • Sample_Welding Line 2— Dieses Asset wird anhand des Sample_Welding Line Asset-Modells erstellt.

  • Sample_Welding Robot 3— Dieses Asset wurde anhand des Sample_Welding Robot Asset-Modells erstellt.

  • Sample_Welding Robot 4— Dieses Asset wurde anhand des Sample_Welding Robot Asset-Modells erstellt.

Informationen zum Erstellen der ersten Anlagen für dieses Beispiel finden Sie unterBeispiel für die erstmalige Einbindung von Modellen und Ressourcen.

Die folgende JSON-Metadatendatei definiert diese Asset-Modelle und Assets. Wenn Sie einen Massenimport mit diesen Metadaten ausführen, werden die darin enthaltenen Asset-Modelle und Assets AWS IoT SiteWise einschließlich ihrer hierarchischen Beziehungen erstellt.

{ "assets": [ { "assetExternalId": "External_Id_Welding_Robot_3", "assetName": "Sample_Welding Robot 3", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S3000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S3000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S3000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Robot_4", "assetName": "Sample_Welding Robot 4", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S4000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S4000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S4000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Line_1", "assetName": "Sample_Welding Line 1", "assetModelExternalId": "External_Id_Welding_Line", "assetHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_1" }, { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_2" }, { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_3" } ] }, { "assetExternalId": "External_Id_Welding_Line_2", "assetName": "Sample_Welding Line 2", "assetModelExternalId": "External_Id_Welding_Line", "assetHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_4" } ] }, { "assetExternalId": "External_Id_Site_Chicago", "assetName": "Sample_Chicago", "assetModelExternalId": "External_Id_Site", "assetHierarchies": [ { "externalId": "External_Id_Site_TO_Line", "childAssetExternalId": "External_Id_Welding_Line_1" }, { "externalId": "External_Id_Site_TO_Line", "childAssetExternalId": "External_Id_Welding_Line_2" } ] } ] }

Der folgende Screenshot zeigt Modelle, Assets und Hierarchien, die AWS-IoT-SiteWise-Konsole nach der Ausführung des vorherigen Codebeispiels angezeigt werden.

AWS IoT SiteWise Modelle mit Anlagen- und Anlagenmodellen.

Beispiel für das Onboarding neuer Immobilien

In diesem Beispiel werden neue Immobilien in bestehenden Anlagemodellen definiert. Erfahren SieBeispiel für das Onboarding zusätzlicher Ressourcen, wie Sie zusätzliche Anlagen und Modelle integrieren können.

  • Joint 1 Temperature— Diese Eigenschaft wird dem Sample_Welding Robot Asset-Modell hinzugefügt. Diese neue Eigenschaft wird auch auf jedes Asset übertragen, das mit dem Sample_Welding Robot Asset-Modell erstellt wurde.

Informationen zum Hinzufügen einer neuen Eigenschaft zu einem vorhandenen Asset-Modell finden Sie im folgenden Beispiel für eine JSON-Metadatendatei. Wie in der JSON-Datei gezeigt, muss die gesamte bestehende Sample_Welding Robot Asset-Modelldefinition zusammen mit der neuen Eigenschaft bereitgestellt werden. Wenn die gesamte Eigenschaftsliste aus der vorhandenen Definition nicht bereitgestellt wird, werden die ausgelassenen Eigenschaften AWS IoT SiteWise gelöscht.

In diesem Beispiel wird dem Asset-Modell eine neue Eigenschaft Joint 1 Temperature hinzugefügt.

{ "assetModels": [ { "assetModelExternalId": "External_Id_Welding_Robot", "assetModelName": "Sample_Welding Robot", "assetModelProperties": [ { "dataType": "STRING", "externalId": "External_Id_Welding_Robot_Serial_Number", "name": "Serial Number", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Cycle_Count", "name": "CycleCount", "type": { "measurement": {} }, "unit": "EA" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Current", "name": "Joint 1 Current", "type": { "measurement": {} }, "unit": "Amps" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Max_Current", "name": "Max Joint 1 Current", "type": { "metric": { "expression": "max(joint1current)", "variables": [ { "name": "joint1current", "value": { "propertyExternalId": "External_Id_Welding_Robot_Joint_1_Current" } } ], "window": { "tumbling": { "interval": "5m" } } } }, "unit": "Amps" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Temperature", "name": "Joint 1 Temperature", "type": { "measurement": {} }, "unit": "degC" } ] } ] }

Beispiel für die Verwaltung von Datenströmen

Dieses Beispiel zeigt zwei Möglichkeiten zur Verwaltung von Datenströmen, die mit einer Anlageneigenschaft verknüpft sind. Beim Umbenennen eines Alias für eine Anlageneigenschaft gibt es zwei Optionen für die historischen Daten, die derzeit im Datenstrom der Anlageneigenschaft gespeichert sind.

  • Option eins — Behalten Sie den aktuellen Datenstrom bei und benennen Sie nur den Alias um, sodass auf die historischen Daten mit dem neuen Alias zugegriffen werden kann.

    Im Beispiel für die JSON-Metadatendatei External_Id_Welding_Robot_Cycle_Count ändert die Asset-Eigenschaft mit der ID ihren Alias inAnyCompany/Chicago/Welding Line/S3000/Count-Updated. Die historischen Daten für diese Asset-Eigenschaft bleiben nach dieser Änderung unverändert.

  • Option zwei — Weisen Sie der Asset-Eigenschaft, auf die mit dem neuen Alias zugegriffen werden kann, einen neuen Datenstrom zu. Auf den alten Datenstrom kann zusammen mit seinen historischen Daten weiterhin mit dem alten Alias zugegriffen werden, er ist jedoch keiner Anlageneigenschaft zugeordnet.

    Im Beispiel für die JSON-Metadatendatei External_Id_Welding_Robot_Joint_1_Current ändert die Asset-Eigenschaft mit der ID ihren Alias inAnyCompany/Chicago/Welding Line/S4999/1/Current. Diesmal retainDataOnAliasChange ist der zusätzliche Wert vorhanden und auf gesetztFalse. Mit dieser Einstellung wird der ursprüngliche Datenstrom von der Objekteigenschaft getrennt, und es wird ein neuer Datenstrom erstellt, der keine historischen Daten enthält.

Um auf den alten Datenstream mit den ursprünglichen historischen Daten zuzugreifen, rufen Sie die AWS Console Home Seite Datenströme auf und suchen Sie nach dem alten AliasAnyCompany/Chicago/Welding Line/S3000/1/Current.

{ "assetExternalId": "External_Id_Welding_Robot_3", "assetName": "Sample_Welding Robot 3", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S3000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S3000/Count-Updated" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S4999/1/Current", "retainDataOnAliasChange": "FALSE" } ] }