

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

# 配置 Amazon Kinesis Data Streams 的源设置
<a name="writing-with-kinesis-streams"></a>

配置 Amazon Kinesis Data Streams 的源设置以将信息如下所示发送到 Firehose 流。

**重要**  
如果使用 Kinesis Producer Library（KPL）将数据写入 Kinesis 数据流，则可以使用聚合来合并写入该 Kinesis 数据流的记录。如果随后将该数据流用作 Firehose 流的来源，Amazon Data Firehose 将在记录传送到目的地之前解聚。如果您配置 Firehose 流来转换数据，则 Amazon Data Firehose 在将记录传输到 AWS Lambda 之前，会先解聚记录。有关更多信息，请参阅[使用 Kinesis 创建者库开发 Amazon Kinesis Data Streams 创建者](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-kpl.html)和[聚合](https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html#kinesis-kpl-concepts-aggretation)。

在**源设置**下，在 **Kinesis 数据流**列表中选择现有流，或者输入格式为 `arn:aws:kinesis:[Region]:[AccountId]:stream/[StreamName]` 的数据流 ARN。

如果您没有现有的数据流，则请选择**创建**，以从 Amazon Kinesis 控制台创建一个新的数据流。您可能需要一个对 Kinesis 流具有必要权限的 IAM 角色。有关更多信息，请参阅 [授予 Firehose 访问 Amazon S3 目的地的权限](controlling-access.md#using-iam-s3)。创建新流后，选择“刷新”图标，以更新 **Kinesis 流**列表。如果您有大量的流，可使用 **Filter by name** 筛选列表。

**注意**  
将 Kinesis 数据流配置为 Firehose 流的源时，Amazon Data Firehose `PutRecord` 和 `PutRecordBatch` 操作将被禁用。在这种情况下，要将数据添加到 Firehose 流，请使用 Kinesis Data Streams `PutRecord` 和 `PutRecords` 操作。

Amazon Data Firehose 开始从 Kinesis 流的 `LATEST` 位置读取数据。有关 Kinesis Data Streams 位置的更多信息，请参阅 [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html)。

 Amazon Data Firehose 每秒为每个分片调用一次 Kinesis Data Streams [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) 操作。但是，启用完整备份后，Firehose 会每秒对每个分片调用 Kinesis Data Streams `GetRecords` 操作两次，一次用于主传输目的地，另一次用于完整备份。

可从同一个 Kinesis 流中读取多个 Firehose 流。其他 Kinesis 应用程序（使用者）也可以从同一个流中读取。来自任何 Firehose 流或其他消费端应用程序的所有调用都会计入该分区的总体限制。为了避免受限，请小心计划您的应用程序。有关 Kinesis Data Streams 限制的更多信息，请参阅 [Amazon Kinesis Streams 限制](https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html)。

继续执行下一步，以配置记录转换和格式转换。