本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新自定义复合模型(组件)
您可以使用 AWS IoT SiteWise API来更新自定义复合模型,也可以使用 AWS IoT SiteWise 控制台来更新组件。
更新组件(控制台)
您可以使用 AWS IoT SiteWise 控制台更新组件。
更新组件(控制台)
导航到 AWS IoT SiteWise 控制台
。 在导航窗格中,选择 模型。
-
选择组件所在的资产模型。
-
在 “属性” 选项卡上,选择 “组件”。
-
选择要更新的组件。
-
选择编辑。
-
在 “编辑组件” 页面上,执行以下任一操作:
-
在 模型详细信息 中,更改模型的 名称。
-
更改任何 属性定义。您无法更改现有属性的 数据类型。有关更多信息,请参阅 定义静态数据(属性)。
-
更改任何 测量值定义。您无法更改现有测量值的 数据类型。有关更多信息,请参阅 定义来自设备的数据流(测量)。
-
更改任何 转换定义。有关更多信息,请参阅 转换数据(变换)。
-
更改任何 指标定义。您无法更改现有指标的 时间间隔。有关更多信息,请参阅 汇总来自房产和其他资产(指标)的数据。
-
-
选择保存。
更新自定义复合模型 (AWS CLI)
使用 AWS Command Line Interface (AWS CLI) 更新自定义复合模型。
要更新名称或描述,请使用UpdateAssetModelCompositeModel操作。您也可以更新属性(仅限于内联自定义复合模型)。您无法更新 component-model-based 自定义复合模型的属性,因为其引用的组件模型提供了其关联的属性。
重要
如果您从自定义复合模型中移除某个属性,则 AWS IoT SiteWise 会删除该属性的所有先前数据。您无法更改现有属性的类型或数据类型。
要将现有的复合模型属性替换为具有相同属性的新属性name
,请执行以下操作:
提交移除所有现有属性的
UpdateAssetModelCompositeModel
请求。提交第二份包含新房产的
UpdateAssetModelCompositeModel
申请。新的资产属性将与前一个资产属性name
相同, AWS IoT SiteWise 并将生成一个新的唯一资产id
。
更新自定义复合模型 (AWS CLI)
-
要检索现有的复合模型定义,请运行以下命令。Replace(替换)
composite-model-id
包含要更新的自定义复合模型的 ID 或外部 ID,以及asset-model-id
与自定义复合模型关联的资产模型在一起。有关更多信息,请参阅 用户指南。AWS IoT SiteWise-
运行以下命令:
aws iotsitewise describe-asset-model-composite-model \ --asset-model-composite-model-id
composite-model-id
\ --asset-model-idasset-model-id
-
上面的命令返回与关联模型的最新版本相对应的复合模型定义。对于资产模型处于
FAILED
状态的用例,请检索与其活动版本相对应的有效模型定义以构建您的更新请求。有关详细信息,请参阅 资产模型版本。 -
运行以下命令以检索活动模型定义:
aws iotsitewise describe-asset-model-composite-model \ --asset-model-composite-model-id
composite-model-id
\ --asset-model-idasset-model-id
\ --asset-model-version ACTIVE -
有关更多信息,请参阅DescribeAssetModelCompositeModel操作。
-
-
创建一个名为的文件
update-custom-composite-model.json
,然后将上一个命令的响应复制到该文件中。 -
从JSON对象中移除所有键值对,但以下
update-custom-composite-model.json
字段除外:assetModelCompositeModelName
assetModelCompositeModelDescription
(如果存在)assetModelCompositeModelProperties
(如果存在)
-
在
update-custom-composite-model.json
中,执行以下任何操作:更改的值
assetModelCompositeModelName
。添加或移
assetModelCompositeModelDescription
除或更改其值。仅适用于内联自定义复合模型:在中更改、添加或移除资产模型的任何属性
assetModelCompositeModelProperties
。
有关此文件所需格式的更多信息,请参阅的请求语法UpdateAssetModelCompositeModel。
-
运行以下命令,使用存储在中的定义更新自定义复合模型
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-idasset-model-id
\ --cli-input-json file://update-custom-composite-model.json
重要
当多个用户同时更新一个资产模型时,一个用户的更改可能会无意中被另一个用户覆盖。为防止出现这种情况,您必须定义一个有条件的更新请求。请参阅 资产模型写入的乐观锁定。