流管理器 - 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

要求

此组件具有以下要求:

  • 令牌交换角色必须允许访问您在直播管理器中使用的 Amazon Web Services 云 目的地。有关更多信息,请参阅:

  • 支持在 VPC 中运行流管理器组件。要在 VPC 中部署此组件,需要满足以下条件。

    • 流管理器组件必须连接到您向其发布数据的 Amazon 服务。

      • 亚马逊 S3:com.amazonaws.region.s3

      • 亚马逊 Kinesis Data Streams:com.amazonaws.region.kinesis-streams

      • Amazon IoT SiteWise: com.amazonaws.region.iotsitewise.data

    • 如果您将数据发布到us-east-1该区域的 Amazon S3,则默认情况下,此组件将尝试使用 S3 全局终端节点;但是,此终端节点无法通过 Amazon S3 VPC 接口终端节点使用。有关更多信息,请参阅 Amazon S3 Amazon PrivateLink 的限制和限制。要解决此问题,您可以从以下选项中进行选择。

      • 通过提供AWS_S3_US_EAST_1_REGIONAL_ENDPOINT=regional环境变量,将流管理器组件配置为使用该us-east-1区域中的区域 S3 端点。

      • 创建 Amazon S3 网关 VPC 终端节点,而不是亚马逊 S3 接口 VPC 终端节点。S3 网关终端节点支持访问 S3 全局终端节点。有关更多信息,请参阅创建网关终端节点

端点和端口

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

Endpoint 端口 必需 描述

iotanalytics.region.amazonaws.com

443

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

kinesis.region.amazonaws.com

443

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

data.iotsitewise.region.amazonaws.com

443

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

*.s3.amazonaws.com

443

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

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

依赖项

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

2.1.11

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.13.0 软性
代币兑换服务 >=0.0.0 硬性
2.1.9 – 2.1.10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=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

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

如果您指定true,则流管理器 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 请求中的数据进行批处理。

注意

流管理器使用 streams 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

更改日志

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

版本

更改

2.1.12

错误修复和改进

更新凭据的使用顺序,以便服务请求的首选 Greengrass 凭据。 Amazon

2.1.11

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

2.1.10

错误修复和改进

修复了 HTTPS 代理配置不信任 Greengrass 证书颁发机构 (CA) 证书链的问题。

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

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

  • 将默认连接超时从 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

初始版本。