更新自定义复合模型(组件) - AWS IoT SiteWise

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

更新自定义复合模型(组件)

您可以使用 AWS IoT SiteWise API来更新自定义复合模型,也可以使用 AWS IoT SiteWise 控制台来更新组件。

更新组件(控制台)

您可以使用 AWS IoT SiteWise 控制台更新组件。

更新组件(控制台)
  1. 导航到 AWS IoT SiteWise 控制台

  2. 在导航窗格中,选择 模型

  3. 选择组件所在的资产模型。

  4. 在 “属性” 选项卡上,选择 “组件”。

  5. 选择要更新的组件。

  6. 选择编辑

  7. “编辑组件” 页面上,执行以下任一操作:

  8. 选择保存

更新自定义复合模型 (AWS CLI)

使用 AWS Command Line Interface (AWS CLI) 更新自定义复合模型。

要更新名称或描述,请使用UpdateAssetModelCompositeModel操作。您也可以更新属性(仅限于内联自定义复合模型)。您无法更新 component-model-based 自定义复合模型的属性,因为其引用的组件模型提供了其关联的属性。

重要

如果您从自定义复合模型中移除某个属性,则 AWS IoT SiteWise 会删除该属性的所有先前数据。您无法更改现有属性的类型或数据类型。

要将现有的复合模型属性替换为具有相同属性的新属性name,请执行以下操作:

  1. 提交移除所有现有属性的UpdateAssetModelCompositeModel请求。

  2. 提交第二份包含新房产的UpdateAssetModelCompositeModel申请。新的资产属性将与前一个资产属性name相同, AWS IoT SiteWise 并将生成一个新的唯一资产id

更新自定义复合模型 (AWS CLI)
  1. 要检索现有的复合模型定义,请运行以下命令。Replace(替换) composite-model-id 包含要更新的自定义复合模型的 ID 或外部 ID,以及 asset-model-id 与自定义复合模型关联的资产模型在一起。有关更多信息,请参阅 用户指南。AWS IoT SiteWise

    1. 运行以下命令:

      aws iotsitewise describe-asset-model-composite-model \ --asset-model-composite-model-id composite-model-id \ --asset-model-id asset-model-id
    2. 上面的命令返回与关联模型的最新版本相对应的复合模型定义。对于资产模型处于FAILED状态的用例,请检索与其活动版本相对应的有效模型定义以构建您的更新请求。有关详细信息,请参阅 资产模型版本

    3. 运行以下命令以检索活动模型定义:

      aws iotsitewise describe-asset-model-composite-model \ --asset-model-composite-model-id composite-model-id \ --asset-model-id asset-model-id \ --asset-model-version ACTIVE
    4. 有关更多信息,请参阅DescribeAssetModelCompositeModel操作。

  2. 创建一个名为的文件update-custom-composite-model.json,然后将上一个命令的响应复制到该文件中。

  3. 从JSON对象中移除所有键值对,但以下update-custom-composite-model.json字段除外:

    • assetModelCompositeModelName

    • assetModelCompositeModelDescription(如果存在)

    • assetModelCompositeModelProperties(如果存在)

  4. update-custom-composite-model.json 中,执行以下任何操作:

    • 更改的值assetModelCompositeModelName

    • 添加或移assetModelCompositeModelDescription除或更改其值。

    • 仅适用于内联自定义复合模型:在中更改、添加或移除资产模型的任何属性assetModelCompositeModelProperties

    有关此文件所需格式的更多信息,请参阅的请求语法UpdateAssetModelCompositeModel

  5. 运行以下命令,使用存储在中的定义更新自定义复合模型update-custom-composite-model.json。Replace(替换) composite-model-id 包含复合模型的 ID,以及 asset-model-id 以及它所在的资产模型的 ID。

    aws iotsitewise update-asset-model-composite-model \ --asset-model-composite-model-id composite-model-id \ --asset-model-id asset-model-id \ --cli-input-json file://update-custom-composite-model.json
重要

当多个用户同时更新一个资产模型时,一个用户的更改可能会无意中被另一个用户覆盖。为防止出现这种情况,您必须定义一个有条件的更新请求。请参阅 资产模型写入的乐观锁定