创建组件模型 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建组件模型

使用 Amazon IoT SiteWise 组件模型定义子组件,您可以从资产模型或其他组件模型中引用这些子组件。这样,您就可以在多个其他模型中重复使用组件的定义,也可以在同一个模型中多次重复使用该组件的定义。

定义组件模型的过程与定义资产模型非常相似。与资产模型一样,组件模型也具有名称、描述和资产属性。但是,组件模型不能包含资产层次结构定义,因为组件模型本身不能用于直接创建资产。组件模型也无法定义警报。

例如,您可以使用电机温度、编码器温度和绝缘电阻属性为伺服电动机定义组件。然后,您可以为包含伺服电机的设备(例如数控机床)定义资产模型。

注意
  • 我们建议您从最低级别的节点开始对运营进行建模。例如,在创建 CNC 机床的资产模型之前,先创建伺服电机组件。资产模型包含对现有组件模型的引用。

  • 您不能直接从组件模型创建资源。要创建使用您的组件的资产,必须为资产创建资产模型。然后,为其创建引用您的组件的自定义复合模型。有关创建资产模型的更多信息,请参阅创建资产模型。有关创建自定义复合模型的更多信息,请参阅创建自定义复合模型(组件)

以下各节介绍如何使用 Amazon IoT SiteWise API 创建组件模型。

创建组件模型 (Amazon CLI)

您可以使用 Amazon Command Line Interface (Amazon CLI) 来创建组件模型。

使用CreateAssetModel操作创建具有属性的组件模型。此操作需要具有以下结构的有效负载:

{ "assetModelType": "COMPONENT_MODEL", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, }
创建组件模型 (Amazon CLI)
  1. 创建一个名为的文件component-model-payload.json,然后将以下 JSON 对象复制到该文件中:

    { "assetModelType": "COMPONENT_MODEL", "assetModelName": "", "assetModelDescription": "", "assetModelProperties": [ ] }
  2. 使用首选的 JSON 文本编辑器编辑 component-model-payload.json 文件的以下内容:

    1. 输入组件模型的名称 (assetModelName),例如Servo MotorServo Motor Model。此名称在您账户中的所有资产模型和组件模型中必须是唯一的 Amazon Web Services 区域。

    2. (可选)输入组件模型的外部 ID (assetModelExternalId)。这是用户定义的 ID。有关更多信息,请参阅《Amazon IoT SiteWise 用户指南》中的 使用外部 ID 引用对象

    3. (可选)输入资产模型的说明 (assetModelDescription),或删除 assetModelDescription 键/值对。

    4. (可选)为组件模型定义资产属性 (assetModelProperties)。有关更多信息,请参阅 定义数据属性

    5. (可选)为资产模型添加标签 (tags)。有关更多信息,请参阅 为资源添加 Amazon IoT SiteWise 标签

  3. 运行以下命令,根据 JSON 文件中的定义创建组件模型。

    aws iotsitewise create-asset-model --cli-input-json file://component-model-payload.json

    该操作会返回一个响应,其中assetModelId包含您在资产模型或其他组件模型中添加对组件模型的引用时所引用的响应。响应中还包含模型的状态 (assetModelStatus.state),最初为 CREATING。在更改传播CREATING之前,组件模型的状态为。

    注意

    对于复杂的模型,元件模型的创建过程最多可能需要几分钟。要检查组件模型的当前状态,请DescribeAssetModel通过指定assetModelId。组件模型状态变为后ACTIVE,您可以在资产模型或其他组件模型中添加对组件模型的引用。有关更多信息,请参阅 资产和模型状态

  4. (可选)为组件模型创建自定义复合模型。使用自定义复合模型,可以在模型内对属性进行分组,也可以通过引用另一个组件模型来包含子组件。有关更多信息,请参阅 创建自定义复合模型(组件)

组件模型示例

本节包含一个组件模型定义示例,您可以使用该示例使用 Amazon CLI 和 Amazon IoT SiteWise 软件开发工具包创建组件模型。此组件模型表示可以在其他设备(例如数控机床)中使用的伺服电动机。

伺服电机组件模型

以下组件模型表示可在数控机床等设备中使用的伺服电动机。伺服电机提供各种测量值,例如温度和电阻。这些测量值可用作从参考伺服电动机组件模型的资产模型创建的资产的属性。

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