本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
流管理器
流管理器组件 (aws.greengrass.StreamManager
) 使您能够处理要 AWS Cloud 从 Greengrass 核心设备传输到的数据流。
有关如何在自定义组件中配置和使用流管理器的更多信息,请参阅管理 Greengrass 核心设备上的数据流。
版本
此组件有以下版本:
-
2.1.x
-
2.0.x
注意
如果您使用流管理器将数据导出到云端,则无法将流管理器组件的 2.0.7 版本升级到 v2.0.8 和 v2.0.11 之间的版本。如果您是首次部署流管理器,我们强烈建议您部署最新版本的流管理器组件。
类型
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass 核心运行组件的生命周期脚本。
有关更多信息,请参阅 组件类型。
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
要求
此组件具有以下要求:
-
令牌交换角色必须允许访问您在直播管理器中使用的 AWS Cloud 目的地。有关更多信息,请参阅:
-
支持在中运行流管理器组件VPC。要在中部署此组件VPC,需要满足以下条件。
-
流管理器组件必须连接到您向其发布数据的 AWS 服务。
-
亚马逊 S3:
com.amazonaws.
region
.s3 -
亚马逊 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 的限制和限制。要解决此问题,您可以从以下选项中进行选择。-
通过在中进行设置,将流管理器组件配置为使用该区域的
us-east-1
区域 S3 终端节点JVM_ARGS
。-Daws.s3UseUsEast1RegionalEndpoint=regional
-
创建 Amazon S3 网关VPC终端节点,而不是亚马逊 S3 接口VPC终端节点。S3 网关终端节点支持访问 S3 全局终端节点。有关更多信息,请参阅创建网关终端节点。
-
-
端点和端口
除了基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙。
Endpoint | 端口 | 必需 | 描述 |
---|---|---|---|
|
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
(5 MB)。这也是最小值。 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.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 |
初始版本。 |