

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

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

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

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

有关基于 MQTT 的文件传输限额，请参阅《AWS 一般参考》中**的 [AWS IoT Core 服务限额](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#limits_iot)。