自动化 SiteWise 资产属性别名

0

【以下的问题经过翻译处理】 你好!

我正在寻找如何在sitewise上自动更新资产属性的链接

这对于制造业来说必然是一个常见的Sitewise要求吧?然而,用整个CLI工作流程请求资产ID,然后解析属性,最后响应似乎对于广泛使用来说相当复杂。

即使每台设备必须与服务器通信,而不是全局配置的导入/导出,我仍然希望有像这样简单的东西:”aws iotsitewise {AssetName}.{PropertyName}.Alias = {GiveAliasString}"。

目前,似乎我必须完成以下步骤:

  1. 搜索所有现有的SiteWise资产
  2. 在JSON响应中搜索Sitewise资产的人类名称。
  3. 获取”拥有”在该JSON响应中找到的资产名称的AssetID
  4. 使用AssetID再次查询服务器,并获得该特定Sitewise资产的另一个JSON描述
  5. 搜索JSON响应以获取所需的参数/指标
  6. 从JSON响应中获取PropertryID
  7. 最后使用属性ID来更新别名字符串

我想象SiteWise开发的90%都要交给自动化工程师。但是基于假定的工作流程,其中99%的响应,包括我在内,将是去找别人……我没有找到更好的方法吗?

创建资产非常容易,只需一个CLI命令;但是某些资产可能有20多个属性,而正常项目可能有100多个资产。控制台对于实际项目不可行。

profile picture
专家
已提问 5 个月前25 查看次数
1 回答
0

【以下的回答经过翻译处理】 你说得对,大多数AWS IoT SiteWise API需要assetID和propertyID,而且没有API调用可以使用属性或资产名称查找ID。但你可以从AWS IoT SiteWise数据流视图开始简化工作流:

使用CLI可能是这样的:

  1. 获取所有没有附加别名的属性:
aws iotsitewise list-time-series --query 'TimeSeriesSummaries[?!alias]'
[
    {
        "assetId": "4cd2ea29-8b35-4f94-aeb9-1446bcb90fae",
        "propertyId": "503b3aa0-75ec-4d42-a294-cd85ee863da2",
        "timeSeriesId": "43a0fede-c0d0-4c3a-84b5-1d575214784c",
        "dataType": "DOUBLE",
        "timeSeriesCreationDate": "2021-10-25T09:42:45+01:00",
        "timeSeriesLastUpdateDate": "2022-03-30T15:57:59+01:00"
    },
...

  1. 遍历列表并可选择获取资产和属性名称:
aws iotsitewise describe-asset-property --asset-id 4cd2ea29-8b35-4f94-aeb9-1446bcb90fae --property-id 503b3aa0-75ec-4d42-a294-cd85ee863da2 --query '[assetName, assetProperty.name]'
[
    "Furnace002",
    "HighTemperature"
]


  1. 更新属性别名:
aws iotsitewise update-asset-property --asset-id 4cd2ea29-8b35-4f94-aeb9-1446bcb90fae --property-id 503b3aa0-75ec-4d42-a294-cd85ee863da2 --property-alias "myAlias"

或者,如果您已经将数据纳入SiteWise中用于此别名,则作为替代方法,您可以直接将数据流附加到属性上:

aws iotsitewise associate-time-series-to-asset-property --asset-id 4cd2ea29-8b35-4f94-aeb9-1446bcb90fae --property-id 503b3aa0-75ec-4d42-a294-cd85ee863da2 --alias 'myalias'
profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则