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

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

更新资产或组件模型 (Amazon CLI)

您可以使用 Amazon Command Line Interface (Amazon CLI) 更新资产模型或组件模型。

使用UpdateAsset模型 API 更新资产模型或组件模型的名称、描述和属性。仅对于资产模型,您可以更新层次结构。指定以下参数:

  • assetModelId – 资产的 ID。这是 UUID 格式的实际 ID,或者externalId:myExternalId如果有,则为。有关更多信息,请参阅《Amazon IoT SiteWise 用户指南》中的 使用外部 ID 引用对象

在有效载荷中指定更新的模型。要了解资产模型或组件模型的预期格式,请参阅创建资产模型

警告

UpdateAsset模型 API 会使用您在有效载荷中提供的模型覆盖现有模型。为避免删除模型的属性或层次结构,您必须在更新的模型负载中包含它们的 ID 和定义。要了解如何查询模型的现有结构,请参阅DescribeAsset模型操作。

注意

以下过程只能更新类型的复合模型AWS/ALARM。如果要更新CUSTOM复合模型,请改用UpdateAssetModelComposite模型。有关更多信息,请参阅 更新自定义复合模型(组件)

更新资产模型或组件模型 (Amazon CLI)
  1. 运行以下命令以检索现有模型定义。将 asset-model-id 替换为要更新的资产模型或组件模型的 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, "assetModelCompositeModelSummaries": Array of AssetModelCompositeModelSummary, "assetModelCreationDate": "String", "assetModelLastUpdateDate": "String", "assetModelStatus": { "state": "String", "error": { "code": "String", "message": "String" }, "assetModelType": "String" } }

    有关更多信息,请参阅DescribeAsset模型操作。

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

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

    • assetModelId

    • assetModelArn

    • assetModelCompositeModelSummaries

    • assetModelCreationDate

    • assetModelLastUpdateDate

    • assetModelStatus

    • assetModelType

    UpdateAsset模型操作需要具有以下结构的有效负载:

    { "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 中的定义更新资产模型。将资产模型 ID 替换为资产模型的 ID:

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