

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

# 暂停和恢复数据传输
<a name="pause-restart-stream"></a>

设置 Firehose 流后，流来源中的可用数据将持续传输到目的地。如果遇到流目标暂时不可用的情况（例如，在计划维护操作期间），您可能需要暂时暂停数据传输，并在目标位置再次可用时恢复。

**重要**  
当您使用下述方法暂停和恢复流时，在恢复流之后，您会看到很少有记录被传输到 Amazon S3 中的错误存储桶，而其余流继续传输到目的地。这是该方法的已知局限性，之所以发生这种情况，是因为有少量记录在多次重试后无法传输到目的地，被跟踪为失败。

## 暂停 Firehose 流
<a name="pausing-stream"></a>

要暂停 Firehose 中的流传输，请先删除 Firehose 因传输失败而写入 S3 备份位置的权限。例如，如果您想暂停带有 OpenSearch 目标的 Firehose 直播，则可以通过更新权限来实现。有关更多信息，请参阅[授予 Firehose 访问公共 OpenSearch 服务目标的](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es)权限。

删除 `s3:PutObject` 操作的 `"Effect": "Allow"` 权限，并显式添加一条语句，该语句对用于备份失败传输的 S3 存储桶的 `s3:PutObject` 操作应用 `Effect": "Deny"` 权限。接下来，关闭直播目标（例如，关闭目标 OpenSearch 网域），或者移除 Firehose 写入目标的权限。要更新其他目的地的权限，请查看[使用 Amazon Data Firehose 控制访问权限](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html)中的相关目的地部分。完成这两个操作后，Firehose 将停止传输直播，你可以使用 Fi [rehose 的CloudWatch 指标](https://docs.aws.amazon.com/firehose/latest/dev/cloudwatch-metrics.html)进行监控。

**重要**  
在 Firehose 中暂停流传输时，需要确保流的来源（例如，Kinesis Data Streams 中或 Kafka 托管服务中）配置为保留数据，直到恢复流传输并将数据传输到目的地为止。如果源是 DirectPut，Firehose 将保留数据 24 小时。如果您在数据留存期到期之前未恢复流并传输数据，则可能会发生数据丢失。

## 恢复 Firehose 流
<a name="resuming-stream"></a>

要恢复传输，请先打开目的地，并确保 Firehose 有权限将流传输到目的地，以还原之前对流目的地所做的更改。接下来，还原之前对应用于 S3 存储桶的权限所做的更改，以备份失败的传输。也就是说，应用 `s3:PutObject` 操作 `"Effect": "Allow"` 的权限，并删除 `s3:PutObject` 操作的 `"Effect": "Deny"` 权限，后者供 S3 存储桶用于备份失败的传输。最后，使用 [Firehose 的CloudWatch 指标进行](https://docs.aws.amazon.com/firehose/latest/dev/cloudwatch-metrics.html)监控，以确认直播已传送到目的地。要查看错误并对其进行故障排除，请使用[适用于 Firehose 的亚马逊 CloudWatch 日志监控](https://docs.aws.amazon.com/firehose/latest/dev/monitoring-with-cloudwatch-logs.html)。