

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 變更資料保留期間
<a name="kinesis-extended-retention"></a>

Amazon Kinesis Data Streams 支援對資料串流變更資料記錄保留期間。Kinesis 資料串流是資料記錄的排序序列，目的是要即時對其寫入和讀取。因此，資料記錄會暫時存放在串流中的碎片。從新增記錄的時間期間，到記錄不再可供存取的時間稱為*保留期間*。根據預設，Kinesis 資料串流會存放 24 小時的記錄，最長可達 8760 小時 (365 天)。

您可以透過 Kinesis Data Streams 主控台或使用 [ncreaseStreamRetentionPeriod ](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_IncreaseStreamRetentionPeriod.html)和 [DecreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DecreaseStreamRetentionPeriod.html) 操作來更新保留期間。使用 Kinesis Data Streams 主控台，您可以同時對多個資料串流的保留期進行大量編輯。您可以使用 [IncreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_IncreaseStreamRetentionPeriod.html) 操作或 Kinesis Data Streams 主控台，將保留期間最多增加 8760 小時 (365 天)。您可以使用 [DecreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DecreaseStreamRetentionPeriod.html) 操作或 Kinesis Data Streams 主控台，將保留期間減少至最低 24 小時。這兩個操作的請求語法會包含串流名稱和保留期間 (小時)。最後，您可以透過呼叫 [DescribeStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.html) 操作來檢查串流目前的保留期間。

以下是使用 AWS CLI來變更保留期間的範例：

```
aws kinesis increase-stream-retention-period --stream-name retentionPeriodDemo --retention-period-hours 72
```

Kinesis Data Streams 會在增加保留期間的數分鐘內，讓舊保留期間的記錄無法提供存取。例如，將保留期間從 24 小時變更為 48 小時，表示在 23 小時 55 分鐘之前新增到串流的記錄仍會在 24 小時後提供。

Kinesis Data Streams 幾乎會立即讓早於新保留期間的記錄於保留期間減少時無法供使用。因此，呼叫 [DecreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DecreaseStreamRetentionPeriod.html) 操作時請特別注意。

設定資料保留期間，以確保使用程式能夠在資料過期之前加以讀取 (如果發生問題)。您應該仔細考慮所有可能性，例如，您的記錄處理邏輯或下游相依性關閉很長一段時間的問題。您可以將保留期間想成安全網，讓資料使用程式有更多的時間可進行恢復。保留期間 API 操作可讓您主動設定或回應式地回應操作事件。

 串流的保留期間設定如超過 24 小時，將產生額外的費用。如需詳細資訊，請參閱 [Amazon Kinesis Data Streams 定價](https://aws.amazon.com/kinesis/data-streams/pricing/)。