

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

# 什么是流？
<a name="mqtt-based-file-delivery-what-is"></a>

在中 Amazon IoT，*流*是一种可公开寻址的资源，它是可以传输到物联网设备的文件列表的抽象。通常而言，流包含以下信息：
+ **Amazon 资源名称（ARN）**，在给定时间唯一标识流。此 ARN 具有模式 `arn:{{partition}}:iot:{{region}}:{{account-ID}}:stream/{{stream ID}}`。
+ 用于识别您的@@ **直播的直播 ID**，在 () 或 SDK 命令中使用 Amazon Command Line Interface （通常是必需的Amazon CLI）。
+ **流描述**提供对流资源的说明。
+ **流版本**用来标识流的特定版本。由于流数据可以在设备开启数据传输之前立即修改，因此设备可以使用流版本来强制执行一致性检查。
+ **一系列文件**，可以传输到设备。对于列表中的每个文件，流都会记录文件 ID、文件大小以及文件的地址信息（例如，Amazon S3 存储桶名称、对象密钥和对象版本）。
+ **一个 Amazon Identity and Access Management (IAM) 角色**，用于向 Amazon IoT MQTT-based 文件传输授予读取存储在数据存储中的流文件的权限。

Amazon IoT MQTT-based 文件传输提供以下功能，以便设备可以从 Amazon 云端传输数据：
+ 使用 MQTT 协议进行数据传输。
+ 支持 JSON 或 CBOR 格式。
+ 通过描述流（[`DescribeStream`](https://docs.amazonaws.cn/iot/latest/developerguide/mqtt-based-file-delivery-in-devices.html#mqtt-based-file-delivery-describe-stream) API）来获取流文件列表、流版本和相关信息的能力。
+ 能够在小数据块中发送数据（[`GetStream`](https://docs.amazonaws.cn/iot/latest/developerguide/mqtt-based-file-delivery-in-devices.html#mqtt-based-file-delivery-get-getstream) API），以便具有硬件约束的设备可以接收数据块的能力。
+ 支持每个请求的动态数据块大小，以支持具有不同内存容量的设备。
+ 当多个设备从同一流文件请求数据块时，对并发流请求的优化。
+ Amazon S3 作为流文件的数据存储。
+ Support 支持将数据传输日志从 Amazon IoT MQTT-based 文件传输到 CloudWatch。

有关 MQTT-based 文件传输配额，请参阅中的 S [Amazon IoT Core ervice Q](https://docs.amazonaws.cn//general/latest/gr/iot-core.html#limits_iot) uotas *Amazon Web Services 一般参考*。