IoT SiteWise 连接器 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 于 2023 年 6 月 30 日进入延长使用寿命阶段。有关更多信息,请参阅 AWS IoT Greengrass V1维护策略。在此日期之后,AWS IoT Greengrass V1 不再发布更新来提供新功能、功能增强、错误修复或安全补丁。在 AWS IoT Greengrass V1 上运行的设备不会受到干扰,并且将继续运行并连接到云。我们强烈建议您迁移到 AWS IoT Greengrass Version 2,从而添加重要的新功能支持更多平台

IoT SiteWise 连接器

IoT SiteWise 连接器将本地设备和设备数据发送到 AWS IoT SiteWise 中的资产属性。您可以使用此连接器从多个 OPC-UA 服务器收集数据并将其发布到 IoT SiteWise。连接器将数据发送到当前 AWS 账户 和区域中的资产属性。

注意

IoT SiteWise 是一项完全托管的服务,可收集、处理和可视化来自工业设备和装置的数据。您可以配置资产属性,以处理从此连接器发送到资产的测量属性的原始数据。例如,您可以定义将设备的摄氏温度数据点转换为华氏度的转换属性,也可以定义计算平均每小时温度的指标属性。有关更多信息,请参阅AWS IoT SiteWise《用户指南》中的什么是AWS IoT SiteWise?

连接器使用从 OPC-UA 服务器发送的 OPC-UA 数据流路径向 IoT SiteWise 发送数据。例如,数据流路径 /company/windfarm/3/turbine/7/temperature 可能表示风电场 #3 中涡轮机 #7 的温度传感器。如果 AWS IoT Greengrass 核心断开与 Internet 的连接,连接器会缓存数据,直到它能够成功连接到 AWS Cloud。您可以配置用于缓存数据的最大磁盘缓冲区大小。如果缓存大小超过最大磁盘缓冲区大小,则连接器会丢弃队列中最旧的数据。

配置和部署 IoT SiteWise 连接器后,可以在 IoT SiteWise 控制台中添加网关和 OPC-UA 源。在控制台中配置源时,可以筛选 IoT SiteWise 连接器发送的 OPC-UA 数据流路径或为其添加前缀。有关完成网关和来源设置的说明,请参阅《AWS IoT SiteWise 用户指南》中的添加网关

IoT SiteWise 仅接收来自已映射到 IoT SiteWise 资产的测量属性的数据流的数据。要将数据流映射到资产属性,您可以将属性的别名设置为等效于 OPC-UA 数据流路径。要了解如何定义资产模型和创建资产,请参阅《AWS IoT SiteWise 用户指南》中的工业资产建模

注意

您可以使用流管理器,将来自 OPC-UA 服务器以外来源的数据上传到 IoT SiteWise。流管理器还为持久性和带宽管理提供可自定义的支持。有关更多信息,请参阅 在 AWS IoT Greengrass 核心上管理数据流

此连接器在无容器隔离模式下运行,因此,您可以将其部署到在 Docker 容器中运行的 Greengrass 组。

此连接器具有以下版本。

版本

ARN

12(推荐)

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/12

11

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/11

10

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/10

9

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/9

8

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/8

7

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/7

6

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/6

5

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/5

4

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/4

3

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/3

2

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/2

1

arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/1

有关版本更改的信息,请参阅更改日志

要求

此连接器具有以下要求:

Version 9, 10, 11, and 12
重要

此版本引入了新要求:AWS IoT Greengrass Core 软件 v1.10.2 和流管理器

  • AWS IoT Greengrass Core 软件版本 v1.10.2。

  • Greengrass 组上启用的流管理器

  • Java 8 安装在核心设备上并已添加到 PATH 环境变量中。

  • 此连接器只能在同时支持 AWS IoT GreengrassIoT SiteWise 的 Amazon Web Services 区域中使用。

  • 将 IAM policy 添加到 Greengrass 组角色。此角色允许 AWS IoT Greengrass 组对目标 root 资产及其子级执行 iotsitewise:BatchPutAssetPropertyValue 操作,如以下示例所示。您可以从策略中删除 Condition,以允许连接器访问您的所有 IoT SiteWise 资产。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }

    有关更多信息,请参阅 IAM 用户指南中的添加和删除 IAM policy

Versions 6, 7, and 8
重要

此版本引入了新要求:AWS IoT Greengrass Core 软件 v1.10.0 和流管理器

  • AWS IoT Greengrass Core 软件版本 v1.10.0。

  • Greengrass 组上启用的流管理器

  • Java 8 安装在核心设备上并已添加到 PATH 环境变量中。

  • 此连接器只能在同时支持 AWS IoT GreengrassIoT SiteWise 的 Amazon Web Services 区域中使用。

  • 将 IAM policy 添加到 Greengrass 组角色。此角色允许 AWS IoT Greengrass 组对目标 root 资产及其子级执行 iotsitewise:BatchPutAssetPropertyValue 操作,如以下示例所示。您可以从策略中删除 Condition,以允许连接器访问您的所有 IoT SiteWise 资产。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }

    有关更多信息,请参阅 IAM 用户指南中的添加和删除 IAM policy

Version 5
  • AWS IoT Greengrass Core 软件版本 v1.9.4。

  • Java 8 安装在核心设备上并已添加到 PATH 环境变量中。

  • 此连接器只能在同时支持 AWS IoT GreengrassIoT SiteWise 的 Amazon Web Services 区域中使用。

  • 将 IAM policy 添加到 Greengrass 组角色。此角色允许 AWS IoT Greengrass 组对目标 root 资产及其子级执行 iotsitewise:BatchPutAssetPropertyValue 操作,如以下示例所示。您可以从策略中删除 Condition,以允许连接器访问您的所有 IoT SiteWise 资产。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }

    有关更多信息,请参阅 IAM 用户指南中的添加和删除 IAM policy

Version 4
  • AWS IoT Greengrass Core 软件版本 v1.10.0。

  • Java 8 安装在核心设备上并已添加到 PATH 环境变量中。

  • 此连接器只能在同时支持 AWS IoT GreengrassIoT SiteWise 的 Amazon Web Services 区域中使用。

  • 将 IAM policy 添加到 Greengrass 组角色。此角色允许 AWS IoT Greengrass 组对目标 root 资产及其子级执行 iotsitewise:BatchPutAssetPropertyValue 操作,如以下示例所示。您可以从策略中删除 Condition,以允许连接器访问您的所有 IoT SiteWise 资产。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }

    有关更多信息,请参阅 IAM 用户指南中的添加和删除 IAM policy

Version 3
  • AWS IoT Greengrass Core 软件版本 v1.9.4。

  • Java 8 安装在核心设备上并已添加到 PATH 环境变量中。

  • 此连接器只能在同时支持 AWS IoT GreengrassIoT SiteWise 的 Amazon Web Services 区域中使用。

  • 将 IAM policy 添加到 Greengrass 组角色。此角色允许 AWS IoT Greengrass 组对目标 root 资产及其子级执行 iotsitewise:BatchPutAssetPropertyValue 操作,如以下示例所示。您可以从策略中删除 Condition,以允许连接器访问您的所有 IoT SiteWise 资产。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }

    有关更多信息,请参阅 IAM 用户指南中的添加和删除 IAM policy

Versions 1 and 2
  • AWS IoT Greengrass Core 软件版本 v1.9.4。

  • Java 8 安装在核心设备上并已添加到 PATH 环境变量中。

  • 此连接器只能在同时支持 AWS IoT GreengrassIoT SiteWise 的 Amazon Web Services 区域中使用。

  • 添加到 Greengrass 组角色的 IAM policy,允许访问 AWS IoT Core 以及对目标 root 资产及其子级执行 iotsitewise:BatchPutAssetPropertyValue 操作,如以下示例所示。您可以从策略中删除 Condition,以允许连接器访问您的所有 IoT SiteWise 资产。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } }, { "Effect": "Allow", "Action": [ "iot:Connect", "iot:DescribeEndpoint", "iot:Publish", "iot:Receive", "iot:Subscribe" ], "Resource": "*" } ] }

    有关更多信息,请参阅《 IAM 用户指南》中的添加和删​​除 IAM 身份权限

参数

Versions 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12
SiteWiseLocalStoragePath

IoT SiteWise 连接器可以向其写入持久性数据的 AWS IoT Greengrass 主机上的目录。默认值为 /var/sitewise

AWS IoT 控制台中的显示名称:本地存储路径

必需:false

类型:string

有效模式:^\s*$|\/.

AWSSecretsArnList

AWS Secrets Manager 中的秘密列表,其中包含 OPC-UA 用户名和密码密钥值对。每个秘密都必须是密钥值对类型秘密。

在 AWS IoT 控制台显示名称:OPC-UA 用户名/密码秘密的 ARN 列表

必需:false

类型:JsonArrayOfStrings

有效模式:\[( ?,? ?\"(arn:(aws(-[a-z]+)*):secretsmanager:[a-z0-9\\-]+:[0-9]{12}:secret:([a-zA-Z0-9\\\\]+\/)*[a-zA-Z0-9\/_+=,.@\\-]+-[a-zA-Z0-9]+)*\")*\]

MaximumBufferSize

IoT SiteWise 磁盘使用的最大大小(以 GB 为单位)。默认值为 10GB。

AWS IoT 控制台中的显示名称:最大磁盘缓冲区大小

必需:false

类型:string

有效模式:^\s*$|[0-9]+

Version 1
SiteWiseLocalStoragePath

IoT SiteWise 连接器可以向其写入持久性数据的 AWS IoT Greengrass 主机上的目录。默认值为 /var/sitewise

AWS IoT 控制台中的显示名称:本地存储路径

必需:false

类型:string

有效模式:^\s*$|\/.

SiteWiseOpcuaUserIdentityTokenSecretArn

AWS Secrets Manager 中的密钥,其中包含 OPC-UA 用户名和密码密钥值对。此密钥必须是密钥值对类型密钥。

AWS IoT 控制台中的显示名称:OPC-UA 用户名/密码密钥的 ARN

必需:false

类型:string

有效模式:^$|arn:(aws(-[a-z]+)*):secretsmanager:[a-z0-9\\-]+:[0-9]{12}:secret:([a-zA-Z0-9\\\\]+/)*[a-zA-Z0-9/_+=,.@\\-]+-[a-zA-Z0-9]+

SiteWiseOpcuaUserIdentityTokenSecretArn-ResourceId

AWS IoT Greengrass 组中引用 OPC-UA 用户名和密码密钥的私有资源。

AWS IoT 控制台中的显示名称:OPC-UA 用户名/密码密钥资源

必需:false

类型:string

有效模式:^$|.+

MaximumBufferSize

IoT SiteWise 磁盘使用的最大大小(以 GB 为单位)。默认值为 10GB。

AWS IoT 控制台中的显示名称:最大磁盘缓冲区大小

必需:false

类型:string

有效模式:^\s*$|[0-9]+

创建连接器示例 (AWS CLI)

以下 AWS CLI 命令创建一个 ConnectorDefinition,其初始版本包含 IoT SiteWise 连接器。

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyIoTSiteWiseConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/IoTSiteWise/versions/11" } ] }'
注意

此连接器中的 Lambda 函数的生命周期很长

在 AWS IoT Greengrass 控制台中,您可以从组的连接器页面添加连接器。有关更多信息,请参阅 Greengrass 连接器入门(控制台)

输入数据

该连接器不接受 MQTT 消息作为输入数据。

输出数据

此连接器不发布 MQTT 消息作为输出数据。

限制

此连接器遵守 IoT SiteWise 施加的所有限制,包括以下限制。有关更多信息,请参阅 AWS 一般参考 中的 AWS IoT SiteWise 端点和配额

  • 每个 AWS 账户 的最大网关数量。

  • 每个网关的 OPC-UA 源的最大数量。

  • 每个 AWS 账户 存储的时间戳质量值 (TQV) 数据点的最大速率。

  • 每个资产属性存储的 TQV 数据点的最大速率。

许可证

Version 9, 10, 11, and 12

IoT SiteWise 连接器包含以下第三方软件/许可:

该连接器在 Greengrass Core 软件许可协议下发布。

Versions 6, 7, and 8

IoT SiteWise 连接器包含以下第三方软件/许可:

该连接器在 Greengrass Core 软件许可协议下发布。

Versions 1, 2, 3, 4, and 5

IoT SiteWise 连接器包含以下第三方软件/许可:

该连接器在 Greengrass Core 软件许可协议下发布。

更改日志

下表介绍每个版本连接器的更改。

版本

更改

Date

12

  • 此版本包含错误修复。

2021 年 12 月 22 日

11

  • 支持含有隐藏字符或不可打印字符的字符串。在将字符串发送到 AWS Cloud 之前,自动删除隐藏和不可打印的字符。

  • 修复了导致 IoT SiteWise 网关无限次重试无效请求的问题。

  • 修复了一个问题,该问题导致在 IoT SiteWise 网关连接到高频数据来源时出现检查点损坏。

  • 改进了错误消息,以帮助对网关配置进行故障排除。

2021 年 3 月 24 日

10

配置了 StreamManager,以改进源连接丢失并重新建立时的处理能力。当没有可用的 SourceTimestamp 时,此版本也接受 OPC-UA 值的 ServerTimestamp

2021 年 1 月 22 日

9

支持自定义 Greengrass StreamManager 流目标、OPC-UA 死区、自定义扫描模式和自定义扫描速率。还改进了从 Iot SiteWise 网关进行配置更新期间的性能。

2020 年 12 月 15 日

8

提高了连接器遇到间歇性网络连接时的稳定性。

2020 年 11 月 19 日

7

修复了网关指标的问题。

2020 年 8 月 14 日

6

添加了对 CloudWatch 指标和自动发现新 OPC-UA 标签的支持。此版本需要流管理器和 AWS IoT Greengrass Core 软件 v1.10.0 或更高版本。

2020 年 4 月 29 日

5

修复了与 AWS IoT Greengrass Core 软件 v1.9.4 的兼容性问题。

2020 年 2 月 12 日

4

修复了 OPC-UA 服务器重新连接的问题。

2020 年 2 月 7 日

3

已删除 iot:* 权限要求。

2019 年 12 月 17 日

2

新增对多个 OPC-UA 秘密资源的支持。

2019 年 12 月 10 日

1

首次发布。

2019 年 12 月 2 日

Greengrass 组在一个时间上只能包含一个版本的连接器。有关升级连接器版本的信息,请参阅升级连接器版本

另请参阅