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

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

更新属性值

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

更新属性值(控制台)

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

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

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

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

    提示

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

  4. 选择编辑

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

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

更新属性值 (CLI)

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

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

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

更新属性值 (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 准备负载的更多信息,请查阅使用 Amazon IoT SiteWise API 提取数据

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

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