将工业数据流映射到资产属性 - AWS IoT SiteWise

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

将工业数据流映射到资产属性

可以在资产属性上定义属性别名。这有助于您在摄取或检索资产数据时识别资产属性。如果资产具有测量值属性,您可以定义属性别名来将数据流映射到这些测量值属性。

此过程要求您知道属性别名。

  • 如果您使用 Edg SiteWise e 网关中的 OPC UA 数据源从 OPC UA 服务器提取数据,则您的属性别名是 Ob jec ts 节点下变量的路径,开头/为。

    如果变量的路径是company/windfarm/3/turbine/7/temperature,则您的属性别名是/company/windfarm/3/turbine/7/temperature

    有关 OPC UA 信息架构的更多信息,请参阅 OPCUA 在线参考中的信息模型和地址间距映射

    注意
    • 如果您为 OPC UA 源配置数据流前缀,则必须将该前缀包含在该源的所有数据流的属性别名中。

      如果/RentonWA是前缀,则前一个别名是/RentonWA/company/windfarm/3/turbine/7/temperature

    • 属性别名最多包含 1,000 字节。OPCUA 变量路径最多可以包含 4,096 个字节。目前, AWS IoT SiteWise 不支持从OPC路径较长的 UA 变量中提取数据。

  • 如果您使用 Edg SiteWise e 网关中的 Modbus TCP 数据源从 Modbus 服务器提取数据,则您的属性别名为:

    Modbus register set tag name

    使用此值将数据从该寄存器集发送到资产属性。

  • 如果您从其他来源(例如使用AWS IoT 规则或)提取数据 API,则必须定义您的属性别名。您可以定义适用于您的设备配置的属性别名命名系统。例如,如果从 AWS IoT 事物中提取数据,则可以在属性别名中包含事物名称以唯一地标识数据流。有关此示例的更多信息,请参阅从 AWS IoT 事物中提取数据教程

在一个地区和 AWS 账户中,房产别名必须是唯一的。 AWS IoT SiteWise 如果将属性别名设置为已存在于其他资产属性上的别名,则返回错误。

如果您有多个具有相同数据流路径的 OPC UA 源,请为每个源的路径添加前缀以形成唯一的别名。有关更多信息,请参阅 配置数据源

注意

本节介绍如何为测量属性设置属性别名。有关如何为外部警报状态属性设置属性别名的更多信息,请参阅 映射外部警报状态流

设置属性别名(控制台)

您可以使用 AWS IoT SiteWise 控制台为资产属性设置别名。

设置属性别名(控制台)
  1. 导航到 AWS IoT SiteWise 控制台

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

  3. 选择要为其设置属性别名的资产。

    提示

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

  4. 选择编辑

  5. 查找要为其设置别名的属性,然后输入属性别名。

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

设置属性别名 (AWS CLI)

使用 AWS Command Line Interface (AWS CLI) 为资产属性设置别名。

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

使用UpdateAssetProperty操作将数据流映射到资产的属性。指定以下参数:

  • assetId— 资产的 ID 或外部 ID。有关更多信息,请参阅《AWS IoT SiteWise 用户指南》中的 使用外部引用对象 IDs

  • propertyId— 资产属性的 ID 或外部 ID。

  • propertyAlias – 数据流到属性别名的路径。

  • propertyNotificationState – 属性值通知状态:ENABLEDDISABLED。在更新属性别名时指定属性的现有通知状态。您可以通过DescribeAssetProperty操作检索现有的通知状态。

    如果省略此参数,则新通知状态为 DISABLED。有关属性通知的更多信息,请参阅与其他 AWS 服务互动

要设置属性别名 (AWS CLI)
  1. 运行以下命令以检索属性的当前通知状态。Replace(替换) asset-id 以及 property-id 以及资产属性的IDs。

    aws iotsitewise describe-asset-property \ --asset-id asset-id \ --property-id property-id

    此操作将按以下格式返回包含资产属性的详细信息的响应。属性通知状态assetProperty.notification.state在JSON对象中。

    { "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "assetName": "Wind Turbine 7", "assetModelId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "assetProperty": { "id": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "name": "Wind Speed", "notification": { "topic": "$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "state": "ENABLED" }, "dataType": "DOUBLE", "unit": "m/s", "type": { "measurement": {} } } }
  2. 运行以下命令以设置资产属性的别名。Replace(替换) property-alias 使用属性别名和 notification-state 使用通知状态,或者省略--property-notification-state以禁用通知。你可以选择用新的单位来更新资产的单位 unit--property-unit

    aws iotsitewise update-asset-property \ --asset-id asset-id \ --property-id property-id \ --property-alias property-alias \ --property-notification-state notification-state \ --property-unit unit
  3. 要验证是否已设置别名,请运行以下命令来检索属性的详细信息。Replace(替换) asset-id 以及 property-id 以及资产属性的IDs。

    aws iotsitewise describe-asset-property \ --asset-id asset-id \ --property-id property-id

    此操作将按以下格式返回包含资产属性的详细信息的响应。属性别名位于JSON对象assetProperty.alias中,在本示例myAlias中设置为。

    { "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "assetName": "Wind Turbine 7", "assetModelId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "assetProperty": { "alias": "myAlias", "id": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "name": "Wind Speed", "notification": { "topic": "$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "state": "ENABLED" }, "dataType": "DOUBLE", "unit": "m/s", "type": { "measurement": {} } } }