メタデータのインポート例 - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

メタデータのインポート例

このセクションでは、メタデータファイルを作成して 1 回の一括インポート操作でアセットモデルとアセットをインポートする方法を説明します。

一括インポートの例

1 回の一括インポート操作で多数のアセットモデルとアセットをインポートできます。次の例は、これを行うためのメタデータファイルの作成方法を示しています。

このシナリオ例では、作業セルに産業用ロボットを含むさまざまな作業現場があります。

この例では次の 2 つの資産モデルを定義しています。

  • RobotModel1: このアセットモデルは、作業現場にある特定の種類のロボットを表しています。ロボットには測定プロパティがありますTemperature

  • WorkCell: このアセットモデルは、いずれかの作業現場にあるロボットのコレクションを表します。アセットモデルは階層を定義しrobotHierarchyOEM1、ワークセルとロボットとの関係を表します。

この例ではいくつかのアセットも定義しています。

  • WorkCell1: ボストンのサイト内のワークセル

  • RobotArm123456: そのワークセル内のロボット

  • RobotArm987654: そのワークセル内の別のロボット

次の JSON メタデータファイルは、これらのアセットモデルとアセットを定義しています。このメタデータを使用して一括インポートを実行すると AWS IoT SiteWise、階層関係を含むアセットモデルとアセットが作成されます。

{ "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" } ] } ] }

モデルとアセットの初期オンボーディングの例

このシナリオ例では、企業内に産業用ロボットを含むさまざまな作業現場があります。

この例では、複数の資産モデルを定義しています。

  • Sample_Enterprise— この資産モデルは、サイトが属する会社を表しています。資産モデルはEnterprise to Site、サイトと企業との関係を表す階層を定義します。

  • Sample_Site— この資産モデルは社内の製造拠点を表します。アセットモデルはSite to Line、ラインと現場の関係を表す階層を定義します。

  • Sample_Welding Line— このアセットモデルは、作業現場内の組立ラインを表します。アセットモデルはLine to Robot、ロボットとラインの関係を表す階層を定義します。

  • Sample_Welding Robot— このアセットモデルは、作業現場の特定のタイプのロボットを表します。

この例ではアセットモデルに基づいてアセットも定義しています。

  • Sample_AnyCompany MotorSample_Enterprise このアセットはアセットモデルから作成されています。

  • Sample_ChicagoSample_Site このアセットはアセットモデルから作成されます。

  • Sample_Welding Line 1Sample_Welding Line このアセットはアセットモデルから作成されます。

  • Sample_Welding Robot 1Sample_Welding Robot このアセットはアセットモデルから作成されます。

  • Sample_Welding Robot 2Sample_Welding Robot このアセットはアセットモデルから作成されます。

次の JSON メタデータファイルは、これらのアセットモデルとアセットを定義しています。このメタデータを使用して一括インポートを実行すると AWS IoT SiteWise、階層関係を含むアセットモデルとアセットが作成されます。

{ "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" } ] } ] }

次のスクリーンショットは、 AWS IoT SiteWise コンソール 前のコード例を実行した後にに表示されるモデルのスクリーンショットです。

AWS IoT SiteWise アセットを含むモデルとアセットモデル。

次のスクリーンショットは、 AWS IoT SiteWise コンソール 前のコード例を実行した後に表示されるモデル、アセット、階層のスクリーンショットです。

AWS IoT SiteWise アセット、アセットモデル、階層を含むモデル。

追加アセットのオンボーディングの例

この例では、アカウントの既存の資産モデルにインポートする追加資産を定義しています。

  • Sample_Welding Line 2Sample_Welding Line このアセットはアセットモデルから作成されます。

  • Sample_Welding Robot 3Sample_Welding Robot このアセットはアセットモデルから作成されます。

  • Sample_Welding Robot 4Sample_Welding Robot このアセットはアセットモデルから作成されます。

この例の初期アセットを作成するには、を参照してくださいモデルとアセットの初期オンボーディングの例

次の JSON メタデータファイルは、これらのアセットモデルとアセットを定義しています。このメタデータを使用して一括インポートを実行すると AWS IoT SiteWise、階層関係を含むアセットモデルとアセットが作成されます。

{ "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" } ] } ] }

次のスクリーンショットは、 AWS IoT SiteWise コンソール 前のコード例を実行した後にに表示されるモデル、アセット、階層のスクリーンショットです。

AWS IoT SiteWise アセットを含むモデルとアセットモデル。

新しいプロパティのオンボーディングの例

この例では、既存の資産モデルに新しいプロパティを定義します。追加アセットのオンボーディングの例追加のアセットやモデルをオンボーディングするにはを参照してください。

  • Joint 1 TemperatureSample_Welding Robot このプロパティはアセットモデルに追加されます。この新しいプロパティは、アセットモデルから作成された各アセットにも反映されます。Sample_Welding Robot

既存のアセットモデルに新しいプロパティを追加するには、次の JSON メタデータファイルの例を参照してください。JSON に示されているように、Sample_Welding Robot既存のアセットモデル定義全体を新しいプロパティとともに提供する必要があります。既存の定義のプロパティリスト全体が提供されていない場合は、 AWS IoT SiteWise 省略されたプロパティを削除します。

この例では、Joint 1 Temperatureアセットモデルに新しいプロパティを追加します。

{ "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" } ] } ] }