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

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

更新资产和模型

您可以在 Amazon IoT SiteWise 中更新资产和资产模型以修改其名称和定义。以下更新操作是异步的,需要时间来通过 Amazon IoT SiteWise 传播。在进行其他更改之前,请检查资产或资产模型的状态。您必须等待更改传播之后才能继续使用更新的资产或模型。

更新资产

您可以使用 Amazon IoT SiteWise 控制台或 API 更新资产的名称。

更新资产时,该资产的状态为UPDATING直到变化传播开来。有关更多信息,请参阅资产和模型状态

更新资产(控制台)

您可以使用 Amazon IoT SiteWise 控制台更新资产详细信息。

更新资产(控制台)
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在导航窗格中,选择 Assets (资产)

  3. 选择要更新的资产。

    提示

    您可以选择箭头图标来展开资产层次结构以查找资产。

  4. 选择编辑

  5. 更新资产的 Name (名称)

  6. (可选)在此页面上,更新资产的其他信息。有关更多信息,请参阅下列内容:

  7. 选择保存

更新资产 (CLI)

您可以使用 Amazon CLI 更新资产的名称。

使用UpdateAsset更新资产的操作。指定以下参数:

  • assetId— 资产的 ID。

  • assetName— 资产的新名称。

更新资产的名称 (CLI)
  • 运行以下命令以更新资产的名称。将 asset-id 替换为资产的 ID,将 asset-name 替换为资产的新名称。

    aws iotsitewise update-asset \ --asset-id asset-id \ --asset-name asset-name

更新资产模型

您可以使用 Amazon IoT SiteWise 控制台或 API 更新资产模型。

您无法更改现有属性的类型或数据类型。您也无法更改现有指标的窗口。

重要

如果您从资产模型中移除某个属性,Amazon IoT SiteWise删除该属性的所有先前数据。如果您从资产模型中删除层次结构定义,Amazon IoT SiteWise 将取消关联该层次结构中的所有资产。

更新资产模型时,基于该模型的每个资产都会反映您对基础模型所做的任何更改。在更改传播之前,每个资产都具有 UPDATING 状态。您必须等待这些资产恢复到 ACTIVE 状态,然后才能与它们进行交互。在此期间,更新的资产模型的状态将为 PROPAGATING。有关更多信息,请参阅资产和模型状态

更新资产模型(控制台)

您可以使用 Amazon IoT SiteWise 控制台更新资产模型。

更新资产模型(控制台)
  1. 导航到 Amazon IoT SiteWise 控制台

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

  3. 选择要更新的资产模型。

  4. 选择编辑

  5. Edit model (编辑模型) 页面上,执行以下任何操作:

  6. 选择 Save(保存)。

更新资产模型 (CLI)

您可以使用 Amazon CLI 更新资产模型。

使用UpdateAssetModel更新资产模型的名称、描述、属性和层次结构的操作。指定以下参数:

  • assetModelId— 资产模型的 ID。

指定负载中更新的资产模型。要了解资产模型的预期格式,请参阅创建资产模型

警告

这个UpdateAssetModel操作使用您在负载中提供的模型覆盖现有模型。为避免删除资产模型的属性或层次结构,您必须在更新的资产模型负载中包含其 ID 和定义。要了解如何查询模型的现有结构,请参阅DescribeAssetModel操作。

更新资产模型 (CLI)
  1. 运行以下命令以检索现有资产模型定义。替换asset-model-id使用要更新的资产模型的 ID。

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id

    此操作将返回包含资产模型详细信息的响应。该响应具有以下结构。

    { "assetModelId": "String", "assetModelArn": "String", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel, "assetModelCreationDate": "String", "assetModelLastUpdateDate": "String", "assetModelStatus": { "state": "String", "error": { "code": "String", "message": "String" } } }

    有关更多信息,请参阅DescribeAssetModel操作。

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

  3. update-asset-model.json 中的 JSON 对象中删除以下键/值对:

    • assetModelId

    • assetModelArn

    • assetModelCreationDate

    • assetModelLastUpdateDate

    • assetModelStatus

    这个UpdateAssetModel操作需要具有以下结构的有效载荷。

    { "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel }
  4. update-asset-model.json 中,执行以下任何操作:

    • 更改资产模型的名称 (assetModelName)。

    • 更改、添加或删除资产模型的描述 (assetModelDescription)。

    • 更改、添加或删除资产模型的任何属性 (assetModelProperties)。您无法更改现有属性的 dataType 或现有指标的 window。有关更多信息,请参阅定义数据属性

    • 更改、添加或删除资产模型的任何层次结构 (assetModelHierarchies)。您无法更改现有层次结构的 childAssetModelId。有关更多信息,请参阅定义资产模型(层次结构)之间的关系

  5. 运行以下命令,使用存储在 update-asset-model.json 中的定义更新资产模型。替换asset-model-id带有资产模型的 ID。

    aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://model-payload.json