本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在上管理数据流Amazon IoT Greengrass核心实例
Amazon IoT Greengrass流管理器可以更高效、可靠地将大容量 IoT 数据传输到Amazon Web Services 云. 流管理器在上处理数据流Amazon IoT GreengrassCore 在将它们导出到Amazon Web Services 云. 流管理器与常见的边缘方案(如机器学习 (ML) 推理)集成,其中Amazon IoT Greengrass核心设备在将数据导出到Amazon Web Services 云或本地存储目标。
Stream Manager 提供了简化自定义组件开发的通用界面,这样您就不需要构建自定义流管理功能。您的组件可以使用标准化机制来处理大容量流和管理本地数据保留策略。您可以为每个流定义存储类型、大小和数据的保留策略,以控制流管理器处理和导出数据的方式。
流管理器在间歇性或有限连接的环境中工作。您可以定义带宽使用、超时行为以及如何Amazon IoT GreengrassCore 在流数据连接或断开连接时处理流数据。您还可以设置优先级以控制Amazon IoT Greengrass核心将流导出到Amazon Web Services 云. 这让您能够比其他数据更快地处理关键数据。
您可以将直播管理器配置为自动将数据导出到Amazon Web Services 云用于存储或进一步处理和分析。直播管理器支持导出到以下内容Amazon Web Services 云目标:
-
中的通道Amazon IoT Analytics.Amazon IoT Analytics允许您对数据执行高级分析,以帮助做出业务决策并改进机器学习模型。有关更多信息,请参阅 Amazon IoT Analytics 用户指南的 什么是 Amazon IoT Analytics?。
-
Amazon Kinesis Data Streams 中的流。您可以使用 Kinesis Data Streams 聚合大容量数据并将其加载到数据仓库中,或者 MapReduce 集群。有关更多信息,请参阅 Amazon Kinesis Data Streams 开发人员指南 中的什么是 Amazon Kinesis Data Streams?。
-
中的资产属性Amazon IoT SiteWise.Amazon IoT SiteWise可让您轻松地从工业设备中大规模收集、组织和分析数据。有关更多信息,请参阅 Amazon IoT SiteWise 用户指南的 什么是 Amazon IoT SiteWise?。
-
Amazon Simple Storage Storage Service Amazon S3 中的对象。您可以使用 Amazon S3 存储和检索大量数据。有关更多信息,请参阅 。什么是 Amazon S3?中的Amazon Simple Storage Service 开发人员指南.
流管理工作流
您的 IoT 应用程序通过流管理器开发工具包与流管理器交互。
在简单的工作流程中,Amazon IoT Greengrass核心消耗 IoT 数据,如时间序列温度和压力指标。组件可能会过滤或压缩数据,然后调用流管理器开发工具包以将数据写入流管理器中的流。直播管理器可以将直播导出到Amazon Web Services 云根据您为直播定义的策略自动执行。组件还可以将数据直接发送到本地数据库或存储库。
IoT 应用程序可以包含多个用于读取或写入流的自定义组件。这些组件可以读取和写入流以过滤、聚合和分析Amazon IoT Greengrass核心设备。这让您能够在数据从核心传输到Amazon Web Services 云或当地目的地。
要开始使用,请将流管理器组件部署到Amazon IoT Greengrass核心设备。在部署中,配置流管理器组件参数以定义应用于 Greengrass 核心设备上的所有流的设置。使用这些参数可以控制流管理器根据业务需求和环境约束存储、处理和导出流的方式。
配置直播管理器后,您可以创建和部署 IoT 应用程序。这些通常是使用的自定义组件StreamManagerClient
在流管理器开发工具包中创建流并与流进行交互。创建流时,您可以定义每个流的策略,如导出目标、优先级和持久性。
要求
使用流管理器存在以下要求:
-
流管理器除了Amazon IoT Greengrass核心软件。您的总内存需求取决于您的工作负载。
-
Amazon IoT Greengrass组件必须使用流管理器开发工具包与流管理器交互。流管理器开发工具包可用于以下语言:
-
适用于 Java 的流管理器 SDK
(v1.1.0 或更高版本) -
适用于 Node.js 的流管理器 SDK
(v1.1.0 或更高版本) -
适用于 Python 的流管理器 SDK
(v1.1.0 或更高版本)
-
-
Amazon IoT Greengrass组件必须指定流管理器组件 (
aws.greengrass.StreamManager
) 作为使用直播管理器的配方中的依赖关系。注意 如果您使用流管理器将数据导出到云,则无法将流管理器组件的 2.0.7 版本升级到 v2.0.8 和 v2.0.11 之间的版本。如果您是第一次部署直播管理器,我们强烈建议您部署最新版本的流管理器组件。
-
如果你定义Amazon Web Services 云流的导出目标时,您必须创建导出目标并授予访问权限Greengrass 设备角色. 根据目的地,其他要求也可能适用。有关更多信息,请参阅:
你有责任维护这些Amazon Web Services 云资源的费用。
数据安全性
使用流管理器时,请注意以下安全注意事项。
本地数据安全性
Amazon IoT Greengrass不加密静态或在核心设备上本地组件之间传输的流数据。
-
静态数据。流数据存储在本地存储在存储目录中。为了保证数据安全,Amazon IoT Greengrass如果启用,则依赖文件权限和全磁盘加密。您可以使用可选的 STREAM_MANAGER_STORE_ROOT_DIR 参数指定存储目录。如果稍后将此参数更改为使用其他存储目录,Amazon IoT Greengrass 不会删除以前的存储目录或其内容。
-
本地传输中的数据.Amazon IoT Greengrass不加密数据源之间的本地传输流数据,Amazon IoT Greengrass组件、流管理器 SDK 和直播管理器。
-
传输到Amazon Web Services 云. 流管理器将数据流导出到Amazon Web Services 云使用标准Amazon带有传输层安全性 (TLS) 的服务客户端加密。
客户端身份验证
流管理器客户端使用流管理器开发工具包与流管理器通信。启用客户端身份验证后,只有 Greengrass 组件才能与流管理器中的流进行交互。禁用客户端身份验证时,Greengrass 核心设备上运行的任何进程都可以与流管理器中的流进行交互。只有在您的业务案例需要时才应禁用身份验证。
您可以使用 STREAM_MANAGER_AUTHENTICATE_CLIENT 参数来设置客户端身份验证模式。在将流管理器组件部署到核心设备时,可以配置此参数。
Enabled | 已禁用 | |
---|---|---|
参数值 |
|
|
允许的客户端 |
核心设备上的 Greengrass 组件 |
核心设备上的 Greengrass 组件 Greengrass 核心设备上运行的其他进程 |