流管理器 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

流管理器

流管理器组件 (aws.greengrass.StreamManager) 使您能够处理Amazon Web Services 云从 Greengrass 核心设备传输到的数据流。

有关如何在自定义组件中配置和使用流管理器的更多信息,请参阅管理 Greengrass 核心设备上的数据流

版本

此组件有以下版本:

  • 2.1.x

  • 2.0.x

注意

如果您使用流管理器将数据导出到云端,则无法将流管理器组件的版本 2.0.7 升级到 v2.0.8 和 v2.0.11 之间的版本。如果您是第一次部署流管理器,我们强烈建议您部署最新版本的流管理器组件。

类型

组件是通用组件 (aws.greengrass.generic)。Greengrass 核心运行组件的生命周期脚本。

有关更多信息,请参阅组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件有以下要求:

端点和端口

除了基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅允许设备流量通过代理或防火墙

Endpoint 端口 必填 描述

iotanalytics.region.amazonaws.com

443

如果您将数据发布到,则为必填项Amazon IoT Analytics。

kinesis.region.amazonaws.com

443

如果您向 Kinesis Data Firehose 发布数据,则为必填项。

data.iotsitewise.region.amazonaws.com

443

如果您将数据发布到,则为必填项Amazon IoT SiteWise。

*.s3.amazonaws.com

443

如果您将数据发布到 S3 存储桶,则为必填项。

您可以将其*替换为发布数据的每个存储段的名称。

附属物

部署组件时,Amazon IoT Greengrass还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件的已发布版本的依赖关系以及定义每个依赖关系的组件版本的语义版本限制。您还可以在Amazon IoT Greengrass控制台中查看每个版本的组件的依赖关系。在组件详细信息页面上,查找 “依赖关系” 列表。

2.1.9

下表列出了此组件版本 2.1.9 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.12.0 软性
代币交换服务 >=0.0.0 硬性
2.1.5 – 2.1.8

下表列出了此组件版本 2.1.5 到 2.1.8 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.11.0 软性
代币交换服务 >=0.0.0 硬性
2.1.2 – 2.1.4

下表列出了此组件版本 2.1.2 到 2.1.4 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.10.0 软性
代币交换服务 >=0.0.0 硬性
2.1.1

下表列出了此组件版本 2.1.1 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.9.0 软性
代币交换服务 >=0.0.0 硬性
2.1.0

下表列出了此组件版本 2.1.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.8.0 软性
代币交换服务 >=0.0.0 硬性
2.0.15

下表列出了此组件版本 2.0.15 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.7.0 软性
代币交换服务 >=0.0.0 硬性
2.0.13 and 2.0.14

下表列出了此组件版本 2.0.13 和 2.0.14 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.6.0 软性
代币交换服务 >=0.0.0 硬性
2.0.11 and 2.0.12

下表列出了此组件版本 2.0.11 和 2.0.12 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.5.0 软性
代币交换服务 >=0.0.0 硬性
2.0.10

下表列出了此组件版本 2.0.10 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.4.0 软性
代币交换服务 >=0.0.0 硬性
2.0.9

下表列出了此组件版本 2.0.9 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.3.0 软性
代币交换服务 >=0.0.0 硬性
2.0.8

下表列出了此组件版本 2.0.8 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.0 <2.2.0 软性
代币交换服务 >=0.0.0 硬性
2.0.7

下表列出了此组件版本 2.0.7 的依赖关系。

依赖关系 兼容版本 依赖关系类型
绿草核 >=2.0.3 <2.1.0 软性
代币交换服务 >=0.0.0 硬性

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供以下配置参数,您可以在部署组件时自定义这些参数。

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

默认值:/greengrass/v2/work/aws.greengrass.StreamManager

STREAM_MANAGER_SERVER_PORT

(可选)用于与流管理器通信的本地端口号。

您可以指定0使用随机可用端口。

默认值:8088

STREAM_MANAGER_AUTHENTICATE_CLIENT

(可选)您可以强制要求客户端进行身份验证,然后才能与流管理器交互。Stream Manager SDK 控制客户端和直播管理器之间的交互。此参数决定哪些客户端可以调用 Stream Manager SDK 来处理直播。有关更多信息,请参阅直播管理器客户端身份验证

如果您指定true,则 Stream Manager SDK 仅允许 Greengrass 组件作为客户端。

如果您指定false,则 Stream Manager 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。 Amazon IoT Greengrass组件在创建导出到 Amazon S3 的流时可以设置此阈值。

默认值:5242880(5 MB)。这也是最小值。

LOG_LEVEL

(可选)组件的日志级别。从以下日志级别中选择,此处按级别顺序列出:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

默认值:INFO

JVM_ARGS

(可选)启动时传递给流管理器的自定义 Java 虚拟机参数。用空格分隔多个参数。

仅当您必须覆盖 JVM 使用的默认设置时才使用此参数。例如,如果计划导出大量的流,则可能需要增加默认堆大小。

例 示例:配置合并更新

以下示例配置指定使用非默认端口。

{ "STREAM_MANAGER_SERVER_PORT": "18088" }

本地日志文件

此组件使用以下日志文件。

Linux
/greengrass/v2/logs/aws.greengrass.StreamManager.log
Windows
C:\greengrass\v2\logs\aws.greengrass.StreamManager.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将 /greengrass/v2C:\greengrass\v2 替换为根文件夹的路径。Amazon IoT Greengrass

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.StreamManager.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.StreamManager.log -Tail 10 -Wait

更改日志

下表描述了该组件的每个版本中的更改。

Version

变更

2.1.9

Greengrass nucleus 版本 2.11.0 版本的版本已更新。

2.1.8

错误修复和改进

修复了直播管理器无限重试SiteWise导出失败的问题。InvalidRequestException

2.1.7

错误修复和改进

修复了流管理器无法正确读取代理配置的问题。

2.1.6

错误修复和改进

修复了可能导致某些 ARMv8 处理器(包括 Jetson Nano)在启动时崩溃的问题。

2.1.5

Greengrass nucleus 版本 2.10.0 版本的版本已更新。

2.1.4

错误修复和改进
  • 修复了在 SiteWise API 的单个批处理中返回具有相同时间戳的相同属性资产ConflictingOperationException的条目会导致流管理器持续重试的问题。

  • 将默认连接超时从 3 秒更新为 1 分钟。

2.1.3

错误修复和改进

修复了以 SYSTEM 用户身份运行时 Windows 操作系统上的启动问题。

2.1.2

错误修复和改进
  • 修复了使用非英语语言的 Windows 操作系统上的问题。

  • Greengrass nucleus 版本 2.9.0 版本的版本已更新。

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
错误修复和改进

修复了阻止将直播管理器 v2.0.7 升级到 v2.0.8 和 v2.0.11 之间的版本的问题。如果您使用流管理器将数据导出到云端,则现在可以升级到 v2.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

初始版本。