本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Greengrass 核心设备上的数据流
AWS IoT Greengrass 流管理器可以更高效、更可靠地将大量物联网数据传输到. AWS Cloud流管理器在将数据流导出到 AWS IoT Greengrass Core 之前先处理核心上的数据流 AWS Cloud。Stream Manager 与常见的边缘场景集成,例如机器学习 (ML) 推理,在这种场景中, AWS IoT Greengrass Core 设备在将数据导出到 AWS Cloud 或本地存储目标之前处理和分析数据。
Stream Manager 提供了一个通用接口来简化自定义组件的开发,因此您无需构建自定义流管理功能。您的组件可以使用标准化机制来处理高容量流并管理本地数据保留策略。您可以为每个流定义存储类型、大小和数据保留策略,以控制流管理器处理和导出数据的方式。
直播管理器可在连接断断续续或连接受限的环境中运行。您可以定义带宽使用情况、超时行为以及 AWS IoT Greengrass 内核在连接或断开连接时如何处理流数据。您还可以设置优先级以控制 AWS IoT Greengrass 核心向中导出流的顺序 AWS Cloud。这使您能够比其他数据更快地处理关键数据。
您可以将流管理器配置为自动将数据导出到以 AWS Cloud 进行存储或进一步处理和分析。直播管理器支持导出到以下 AWS Cloud 目的地:
-
频道进来 AWS IoT Analytics。 AWS IoT Analytics 允许您对数据进行高级分析,以帮助做出业务决策和改进机器学习模型。有关更多信息,请参阅AWS IoT Analytics 《用户指南》中的什么是 AWS IoT Analytics?。
-
在 Amazon Kinesis Data Streams 中直播。您可以使用 Kinesis Data Streams 来聚合大量数据并将其加载到数据仓库 MapReduce 或集群中。有关更多信息,请参阅 Amazon Kinesis Data Streams 开发人员指南 中的什么是 Amazon Kinesis Data Streams?。
-
中的资产属性 AWS IoT SiteWise。 AWS IoT SiteWise 允许您大规模收集、组织和分析来自工业设备的数据。有关更多信息,请参阅什么是 AWS IoT SiteWise? 在《AWS IoT SiteWise 用户指南》中。
-
亚马逊简单存储服务 Amazon S3 中的对象。您可以使用 Amazon S3 存储和检索大量的数据。有关更多信息,请参阅什么是 Amazon S3? 在《Amazon 简单存储服务开发者指南》中。
流管理工作流
您的物联网应用程序通过流管理器与流管理器进行交互SDK。
在简单的工作流程中,内 AWS IoT Greengrass 核上的组件消耗物联网数据,例如时间序列温度和压力指标。该组件可能会筛选或压缩数据,然后调用流管理器SDK将数据写入流管理器中的流。直播管理器可以根据您为直播定义的策略 AWS Cloud 自动将直播导出到。组件还可以将数据直接发送到本地数据库或存储库。
您的物联网应用程序可以包含多个用于读取或写入流的自定义组件。这些组件可以读取和写入流,以筛选、聚合和分析 AWS IoT Greengrass 核心设备上的数据。这使得在数据从核心传输到 AWS Cloud 或本地目的地之前,可以快速响应本地事件并提取有价值的信息。
首先,请将流管理器组件部署到您的 AWS IoT Greengrass 核心设备。在部署中,配置流管理器组件参数以定义适用于 Greengrass 核心设备上所有直播的设置。使用这些参数可以控制流管理器如何根据您的业务需求和环境限制存储、处理和导出流。
配置流管理器后,您可以创建和部署 IoT 应用程序。这些通常是自定义组件,用于StreamManagerClient
在流管理器SDK中创建直播并与之交互。创建直播时,您可以定义每个流的策略,例如导出目的地、优先级和持久性。
要求
以下要求适用于使用流管理器:
-
除了 AWS IoT Greengrass 核心软件外,直播管理器还需要至少 70 MB RAM 的存储空间。您的总内存需求取决于您的工作负载。
-
AWS IoT Greengrass 组件必须使用流管理器SDK与流管理器进行交互。直播管理器SDK有以下语言版本:
-
SDK适用于 Java 的直播管理器
(v1.1.0 或更高版本) -
Node.js SDK 的直播管理器
(v1.1.0 或更高版本) -
SDK适用于 Python 的直播管理器
(v1.1.0 或更高版本)
-
-
AWS IoT Greengrass 组件必须在其配方中将流管理器组件 (
aws.greengrass.StreamManager
) 指定为依赖项才能使用流管理器。注意
如果您使用流管理器将数据导出到云端,则无法将流管理器组件的 2.0.7 版本升级到 v2.0.8 和 v2.0.11 之间的版本。如果您是首次部署流管理器,我们强烈建议您部署最新版本的流管理器组件。
-
如果您为直播定义 AWS Cloud 导出目标,则必须创建导出目标并以 G reengrass 设备角色授予访问权限。根据不同的目的地,也可能适用其他要求。有关更多信息,请参阅:
您有责任维护这些 AWS Cloud 资源。
数据安全性
使用流管理器时,请注意以下安全注意事项。
本地数据安全性
AWS IoT Greengrass 不加密核心设备上的静态数据或本地组件之间传输的流数据。
-
静态数据。流数据存储在本地存储在存储目录中。为了确保数据安全, AWS IoT Greengrass 依赖文件权限和全盘加密(如果启用)。您可以使用可选的 STREAM_ MANAGER _ STORE _ ROOT _ DIR 参数来指定存储目录。如果稍后将此参数更改为使用其他存储目录,则 AWS IoT Greengrass 不会删除以前的存储目录或其内容。
-
数据在本地传输。 AWS IoT Greengrass 不加密数据源、 AWS IoT Greengrass 组件、流管理器和流管理器SDK之间本地传输的流数据。
-
数据正在传输到 AWS Cloud. 由流管理器导出到的数据流 AWS Cloud 使用带有传输层安全性的标准 AWS 服务客户端加密 (TLS)。
客户端身份验证
直播管理器客户端使用流管理器SDK与直播管理器通信。启用客户端身份验证后,只有 Greengrass 组件可以在流管理器中与直播交互。禁用客户端身份验证后,在 Greengrass 核心设备上运行的任何进程都可以在流管理器中与流媒体交互。只有在您的业务案例需要时才应禁用身份验证。
您可以使用 STREAM_ _ MANAGER AUTHENTICATE _ CLIENT 参数来设置客户端身份验证模式。在将流管理器组件部署到核心设备时,可以配置此参数。
已启用 | 已禁用 | |
---|---|---|
参数值 |
|
|
允许的客户端 |
核心设备上的 Greengrass 组件 |
核心设备上的 Greengrass 组件 Greengrass 核心设备上运行的其他进程 |