翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コンポーネントモデルの作成
AWS IoT SiteWise コンポーネントモデルを使用して、アセットモデルやその他のコンポーネントモデルから参照できるサブアセンブリを定義します。このようにして、コンポーネントの定義を他の複数のモデル間で、または同じモデル内で複数回再利用できます。
コンポーネントモデルを定義するプロセスは、アセットモデルを定義するのと非常によく似ています。アセットモデルと同様に、コンポーネントモデルには名前、説明、アセットプロパティがあります。ただし、コンポーネントモデル自体を使用してアセットを直接作成することはできないため、コンポーネントモデルにアセット階層定義を含めることはできません。また、コンポーネントモデルではアラームを定義できません。
例えば、モーター温度、エンコーダー温度、およびパーティショニング抵抗プロパティを使用して、サーボモーターのコンポーネントを定義できます。次に、CNC機械などのサーボモーターを含む機器のアセットモデルを定義できます。
注記
-
最下位レベルのノードから業務をモデル化することをお勧めします。例えば、CNC機械のアセットモデルを作成する前に、サーボモーターコンポーネントを作成します。アセットモデルには、既存のコンポーネントモデルへの参照が含まれています。
-
コンポーネントモデルから直接アセットを作成することはできません。コンポーネントを使用するアセットを作成するには、アセットのアセットモデルを作成する必要があります。次に、コンポーネントを参照するカスタム複合モデルを作成します。アセットモデルの作成の詳細については、「」を参照してください。カスタム複合モデルの作成アセットモデルを作成するの詳細については、「」を参照してくださいカスタム複合モデル (コンポーネント) を作成する。
以下のセクションでは、 を使用して AWS IoT SiteWise APIコンポーネントモデルを作成する方法について説明します。
コンポーネントモデルを作成する (AWS CLI)
AWS Command Line Interface (AWS CLI) を使用してコンポーネントモデルを作成できます。
CreateAssetModel オペレーションを使用して、プロパティを持つコンポーネントモデルを作成します。このオペレーションでは、次の構造を持つペイロードが必要です。
{ "assetModelType": "COMPONENT_MODEL", "assetModelName": "
String
", "assetModelDescription": "String
", "assetModelProperties":Array of AssetModelProperty
, }
コンポーネントモデルを作成するには (AWS CLI)
-
という名前のファイルを作成し
component-model-payload.json
、次のJSONオブジェクトをファイルにコピーします。{ "assetModelType": "COMPONENT_MODEL", "assetModelName": "", "assetModelDescription": "", "assetModelProperties": [ ] }
-
任意のJSONテキストエディタを使用して、次の
component-model-payload.json
ファイルを編集します。-
Servo Motor
や など、コンポーネントモデルの名前 (assetModelName
) を入力しますServo Motor Model
。この名前は、この のアカウント内のすべてのアセットモデルとコンポーネントモデルで一意である必要があります AWS リージョン。 -
(オプション) コンポーネントモデルの外部 ID (
assetModelExternalId
) を入力します。これはユーザー定義の ID です。詳細については、AWS IoT SiteWise ユーザーガイドの 外部でオブジェクトを参照する IDsを参照してください。 -
(オプション) アセットモデルの説明 (
assetModelDescription
) を入力するか、assetModelDescription
キーと値のペアを削除します。 -
(オプション) コンポーネントモデルのアセットプロパティ (
assetModelProperties
) を定義します。詳細については、「データプロパティを定義する」を参照してください。 -
(オプション) アセットモデルのタグ (
tags
) を追加します。詳細については、「AWS IoT SiteWise リソースにタグを付ける」を参照してください。
-
-
次のコマンドを実行して、 JSON ファイルの定義からコンポーネントモデルを作成します。
aws iotsitewise create-asset-model --cli-input-json file://component-model-payload.json
オペレーションは、アセットモデルまたは別のコンポーネントモデルでコンポーネントモデルへの参照を追加するときに参照
assetModelId
する を含むレスポンスを返します。レスポンスには、モデルの状態 (assetModelStatus.state
) も含まれます。これは、最初はCREATING
です。変更が反映されCREATING
るまで、コンポーネントモデルのステータスは になります。注記
コンポーネントモデルの作成プロセスは、複雑なモデルの場合、数分かかることがあります。コンポーネントモデルの現在のステータスを確認するには、 を指定して DescribeAssetModelオペレーションを使用します
assetModelId
。コンポーネントモデルのステータスが になったらACTIVE
、アセットモデルまたは他のコンポーネントモデルでコンポーネントモデルへの参照を追加できます。詳細については、「アセットおよびモデルの状態」を参照してください。 -
(オプション) コンポーネントモデルのカスタム複合モデルを作成します。カスタム複合モデルでは、モデル内のプロパティをグループ化したり、別のコンポーネントモデルを参照してサブアプライドを含めたりできます。詳細については、「カスタム複合モデル (コンポーネント) を作成する」を参照してください。
コンポーネントモデルの例
このセクションでは、 AWS CLI および でコンポーネントモデルを作成するために使用できるコンポーネントモデル定義の例を示します AWS IoT SiteWise SDKs。このコンポーネントモデルは、CNC機械などの別の機器内で使用できるサーボモーターを表します。
Servo モーターコンポーネントモデル
次のコンポーネントモデルは、CNC機械などの機器内で使用できるサーボモーターを表しています。サーボモーターは、温度や耐電力など、さまざまな測定値を提供します。これらの測定値は、サーボモーターコンポーネントモデルを参照するアセットモデルから作成されたアセットのプロパティとして使用できます。
{ "assetModelName": "ServoMotor", "assetModelType": "COMPONENT_MODEL", "assetModelProperties": [ { "dataType": "DOUBLE", "name": "Servo Motor Temperature", "type": { "measurement": {} }, "unit": "Celsius" }, { "dataType": "DOUBLE", "name": "Spindle speed", "type": { "measurement": {} }, "unit": "rpm" } ] }