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

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

更新属性值

资产继承其资产模型的属性,包括属性的默认值。某些情况下,您需要保留资产模型的默认属性,如资产制造商特征。其他情况下,您需要更新继承的属性,如资产的纬度和经度。

更新属性值(控制台)

您可以使用 Amazon IoT SiteWise 控制台更新属性资产属性的值。

更新属性值(控制台)
  1. 导航到 Amazon IoT SiteWise 控制台

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

  3. 选择要更新其属性的资产。

    提示

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

  4. 选择编辑

  5. 查找要更新的属性,然后输入其新值。

    
                        Amazon IoT SiteWise “编辑资产” 页面屏幕截图,突出显示了属性值。
  6. 选择保存

更新属性值 (Amazon CLI)

您可以使用 Amazon Command Line Interface (Amazon CLI) 更新属性值。

您必须知道资产的 assetId 和属性的 propertyId 才能完成此过程。您也可以使用外部 ID。如果您创建了资产但不知道该资产assetId,请使用 ListAssetsAPI 查看特定模型的所有资产。然后,使用该DescribeAsset操作查看资产的属性,包括属性 ID。

使用 BatchPutAssetPropertyValue 操作将属性值分配给您的资产。您可以使用此操作一次设置多个属性。此操作的负载包含条目列表,每个条目都包含资产 ID、属性 ID 和属性值。

更新属性的值 (Amazon CLI)
  1. 创建一个名为 batch-put-payload.json 的文件,并将以下 JSON 对象复制到该文件中。此示例负载演示如何设置风力涡轮机的纬度和经度。更新 ID、值和时间戳以修改用例的负载。

    { "entries": [ { "entryId": "windfarm3-turbine7-latitude", "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "propertyId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "propertyValues": [ { "value": { "doubleValue": 47.6204 }, "timestamp": { "timeInSeconds": 1575691200 } } ] }, { "entryId": "windfarm3-turbine7-longitude", "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "propertyId": "a1b2c3d4-5678-90ab-cdef-55555EXAMPLE", "propertyValues": [ { "value": { "doubleValue": 122.3491 }, "timestamp": { "timeInSeconds": 1575691200 } } ] } ] }

    负载中的每个条目都包含一个 entryId,您可以将其定义为任何唯一的字符串。如果任何请求条目失败,则每个错误都将包含相应请求的 entryId,以便您知道要重试的请求。

    要设置属性值,可以在每个属性属性的列表中包含一个 timestamp-quality-value (TQV) 结构。propertyValues此结构必须包含新的 value 和当前的 timestamp

    • value – 包含下列字段之一的结构,具体取决于要设置的属性的类型:

      • booleanValue

      • doubleValue

      • integerValue

      • stringValue

    • timestamp— 一种包含当前 Unix 纪元时间(以秒为单位)的结构,timeInSeconds。 Amazon IoT SiteWise 拒绝任何时间戳在过去存在超过 7 天或将来超过 5 分钟的数据点。

    有关如何为 BatchPutAssetPropertyValue 准备负载的更多信息,请查阅使用 API 摄取数据 Amazon IoT SiteWise

  2. 运行以下命令将属性值发送到 Amazon IoT SiteWise:

    aws iotsitewise batch-put-asset-property-value --cli-input-json file://batch-put-payload.json