本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
流管理器
流管理器组件 (aws.greengrass.StreamManager
) 使您能够处理要 AWS Cloud 从 Greengrass 核心设备传输到的数据流。
有关如何在自定义组件中配置和使用流管理器的更多信息,请参阅管理 Greengrass 核心设备上的数据流。
版本
此组件具有以下版本:
-
2.2.x
-
2.1.x
-
2.0.x
注意
如果您使用流管理器将数据导出到云端,则无法将流管理器组件 2.0.7 版本升级到 v2.0.8 到 v2.0.11 之间的版本。如果您是首次部署流管理器,我们强烈建议您部署最新版本的流管理器组件。
Type
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass Nucleus 运行组件的生命周期脚本。
有关更多信息,请参阅组件类型。
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
要求
此组件具有以下要求:
-
令牌交换角色必须允许访问您在直播管理器中使用的 AWS Cloud 目的地。有关更多信息,请参阅:
-
支持在中运行流管理器组件VPC。要在中部署此组件VPC,需要满足以下条件。
-
流管理器组件必须连接到您向其发布数据的 AWS 服务。
-
Amazon S3:
com.amazonaws.
region
.s3 -
Amazon Kinesis Data Streams:
com.amazonaws.
region
.kinesis-streams -
AWS IoT SiteWise:
com.amazonaws.
region
.iotsitewise.data
-
-
如果您将数据发布到
us-east-1
该区域的 Amazon S3,则默认情况下,此组件将尝试使用 S3 全局终端节点;但是,此终端节点无法通过 Amazon S3 VPC 接口终端节点使用。有关更多信息,请参阅 Amazon S3 AWS PrivateLink 的限制和限制。要解决此问题,您可从以下选项中进行选择。-
通过在
JVM_ARGS
中设置-Daws.s3UseUsEast1RegionalEndpoint=regional
,将流管理器组件配置为使用us-east-1
区域中的区域 S3 端点。 -
创建 Amazon S3 网关VPC终端节点,而不是亚马逊 S3 接口VPC终端节点。S3 网关端点支持访问 S3 全局端点。有关更多信息,请参阅创建网关端点。
-
-
端点和端口
除基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙。
Endpoint | 端口 | Required | 描述 |
---|---|---|---|
|
443 | 否 |
如果您向发布数据,则为必填项 AWS IoT Analytics。 |
|
443 | 否 |
如果您将数据发布到 Firehose,则为必需。 |
|
443 | 否 |
如果您向发布数据,则为必填项 AWS IoT SiteWise。 |
|
443 | 否 |
如果您将数据发布到 S3 存储桶,则为必需。 您可以将 |
依赖项
部署组件时, AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 AWS IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
STREAM_MANAGER_STORE_ROOT_DIR
-
(可选)用于存储流的本地目录的绝对路径。此值必须以正斜杠开头(例如,
/data
)。您必须指定现有文件夹,并且运行流管理器组件的系统用户必须拥有向此文件夹执行读取和写入的权限。例如,您可以运行以下命令来创建和配置文件夹
/var/greengrass/streams
,并将其指定为流管理器根文件夹。这些命令允许默认系统用户ggc_user
向该文件夹执行读取和写入。sudo mkdir /var/greengrass/streams sudo chown ggc_user /var/greengrass/streams sudo chmod 700 /var/greengrass/streams
默认值:
/work/aws.greengrass.StreamManager/greengrass/v2
STREAM_MANAGER_SERVER_PORT
-
(可选)用于与流管理器通信的本地端口号。
您可以指定
0
来使用随机可用端口。默认值:
8088
STREAM_MANAGER_AUTHENTICATE_CLIENT
-
(可选)您可以强制要求客户端先进行身份验证,再与流管理器交互。直播管理器SDK控制客户端和直播管理器之间的交互。此参数决定哪些客户端可以调用流管理器SDK来处理流。有关更多信息,请参阅流管理器客户端身份验证。
如果您指定
true
,则流管理器仅SDK允许 Greengrass 组件作为客户端。如果指定
false
,则流管理器SDK允许核心设备上的所有进程成为客户端。默认值:
true
STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH
-
(可选)流管理器在导出数据时可使用的平均最大带宽(以千位/秒为单位)。
默认值:无限制
STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE
-
(可选)流管理器在导出数据时可使用的最大活动线程数。
最佳大小取决于您的硬件、流的量和计划的导出流数量。如果导出速度较慢,您可以调整此设置以找出适合您的硬件和业务案例的最佳大小。核心设备硬件的CPU和内存是限制因素。首先,您可以尝试将此值设置为等于设备上的处理器核心数。
请注意,不要设置大于硬件可以支持的大小。每个流都会消耗硬件资源,因此请尝试限制受约束设备上的导出流的数量。
默认值:5 个线程
STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES
-
(可选)向 Amazon S3 分段上传时每个分段的大小上限(以字节为单位)。流管理器使用此设置和输入文件的大小来确定如何对分段PUT请求中的数据进行批处理。
注意
流管理器使用流
sizeThresholdForMultipartUploadBytes
属性来确定是以单段上传方式还是以分段上传方式导出到 Amazon S3。 AWS IoT Greengrass 组件可以在创建导出到 Amazon S3 的流时设置此阈值。默认值:
5242880
(5MB) 这也是最小值。 LOG_LEVEL
-
(组件)组件的日志记录级别。从以下日志级别中选择,此处按级别顺序列出:
-
TRACE
-
DEBUG
-
INFO
-
WARN
-
ERROR
默认值:
INFO
-
JVM_ARGS
-
(可选)在启动时传递给流管理器的自定义 Java 虚拟机参数。通过空格分隔多个参数。
只有在必须覆盖使用的默认设置时才使用此参数JVM。例如,如果计划导出大量的流,则可能需要增加默认堆大小。
例 示例:配置合并更新
以下示例配置指定使用非默认端口。
{ "STREAM_MANAGER_SERVER_PORT": "18088" }
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 AWS IoT Greengrass 根文件夹的路径。
更改日志
下表介绍每个组件版本的更改。
版本 |
更改 |
---|---|
2.2.0 |
|
2.1.13 |
|
2.1.12 |
|
2.1.11 |
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
2.1.10 |
|
2.1.9 |
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
2.1.8 |
|
2.1.7 |
|
2.1.6 |
|
2.1.5 |
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
2.1.4 |
|
2.1.3 |
|
2.1.2 |
|
2.1.1 |
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
2.1.0 |
|
2.0.15 |
版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。 |
2.0.14 |
此版本包含错误修复和改进。 |
2.0.13 |
版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。 |
2.0.12 |
|
2.0.11 |
版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。 |
2.0.10 |
版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。 |
2.0.9 |
对 Greengrass Nucleus 版本 2.2.0 发行版进行了版本更新。 |
2.0.8 |
对 Greengrass Nucleus 版本 2.1.0 发行版进行了版本更新。 |
2.0.7 |
初始版本。 |