

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

# 設定備份設定
<a name="create-configure-backup"></a>

Amazon Data Firehose 使用 Amazon S3 來備份其嘗試交付至所選目的地的所有或僅失敗的資料。

**重要**  
只有在 Firehose 串流的來源為 Direct PUT 或 Kinesis Data Streams 時，才支援備份設定。
零緩衝功能僅適用於應用程式目的地，不適用於 Amazon S3 備份目的地。

如果您做出下列其中一個選擇，您可以指定 Firehose 串流的 S3 備份設定。
+ 如果您將 Amazon S3 設定為 Firehose 串流的目的地，並選擇指定 AWS Lambda 函數來轉換資料記錄，或選擇轉換 Firehose 串流的資料記錄格式。
+ 如果您將 Amazon Redshift 設定為 Firehose 串流的目的地，並選擇指定 AWS Lambda 函數來轉換資料記錄。
+ 如果您將下列任何服務設定為 Firehose 串流的目的地：Amazon OpenSearch Service、Datadog、Dynatrace、HTTP Endpoint、LogicMonitor、MongoDB Cloud、New Relic、Splunk 或 Sumo Logic、Snowflake、Apache Iceberg Tables。

以下是 Firehose 串流的備份設定。
+ Amazon S3 中的來源記錄備份 - 如果 S3 或 Amazon Redshift 是您選取的目的地，此設定會指出您是要啟用來源資料備份，還是保持停用狀態。如果將任何其他支援的服務 (S3 或 Amazon Redshift 除外) 設為您選取的目的地，則此設定會指示您是要備份所有來源資料，還是僅備份失敗的資料。
+ S3 備份儲存貯體 - 這是 Amazon Data Firehose 備份資料的 S3 儲存貯體。
+ S3 備份儲存貯體字首 - 這是 Amazon Data Firehose 備份資料的字首。
+ S3 備份儲存貯體錯誤輸出字首 - 所有失敗的資料都會備份在此 S3 儲存貯體錯誤輸出字首中。
+ 緩衝提示、壓縮和加密以進行備份 - Amazon Data Firehose 使用 Amazon S3 來備份其嘗試交付至所選目的地的所有或失敗資料。Amazon Data Firehose 會先緩衝傳入的資料，再將其交付 （備份） 至 Amazon S3。您可以選擇 1-128 MiBs 的緩衝區大小和 60–900 秒的緩衝區間隔。滿足的條件會先觸發資料交付至 Amazon S3。如果您啟用資料轉換，緩衝間隔會從 Amazon Data Firehose 收到轉換資料的時間套用到資料交付到 Amazon S3。如果交付至目的地的資料落後於寫入 Firehose 串流的資料，Amazon Data Firehose 會動態提高緩衝區大小以追上進度。此動作有助於確保所有資料都交付到目的地。
+ S3 壓縮 - 選擇 GZIP、Snappy、Zip 或 Hadoop 相容 Snappy 資料壓縮，或沒有資料壓縮。Snappy、Zip 和 Hadoop 相容 Snappy 壓縮不適用於 Amazon Redshift 做為目的地的 Firehose 串流。
+ S3 副檔名格式 （選用） – 為交付至 Amazon S3 目的地儲存貯體的物件指定副檔名格式。如果您啟用此功能，指定的副檔名會覆寫資料格式轉換或 S3 壓縮功能附加的預設副檔名，例如 .parquet 或 .gz。當您將此功能與資料格式轉換或 S3 壓縮搭配使用時，請確定是否已設定正確的副檔名。副檔名必須以句號 (.) 開頭，且可包含允許的字元：0-9a-z！-\_.\*‘()。副檔名不能超過 128 個字元。
+ Firehose 支援使用 AWS Key Management Service (SSE-KMS) 的 Amazon S3 伺服器端加密，以加密 Amazon S3 中的交付資料。您可以選擇使用目的地 S3 儲存貯體中指定的預設加密類型，或使用您擁有的金鑰清單中的 AWS KMS 金鑰進行加密。如果您使用 AWS KMS 金鑰加密資料，您可以使用預設 AWS 受管金鑰 (aws/s3) 或客戶受管金鑰。如需詳細資訊，請參閱[使用伺服器端加密搭配 AWS KMS 受管金鑰保護資料 (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

## 設定緩衝提示
<a name="buffering-hints"></a>

Amazon Data Firehose 會將記憶體中的傳入串流資料緩衝至特定大小 （緩衝大小） 和一段特定時間 （緩衝間隔），再交付至指定的目的地。當您想要將大小最佳的檔案交付至 Amazon S3，並從資料處理應用程式獲得更好的效能，或調整 Firehose 交付速率以符合目的地速度時，您會使用緩衝提示。

您可以在建立新的 Firehose 串流時設定緩衝大小和緩衝間隔，或更新現有 Firehose 串流上的緩衝大小和緩衝間隔。緩衝大小以 MBs為單位，緩衝間隔以秒為單位。不過，如果指定它們其中一個值，您也必須提供其他的值。第一個滿足的緩衝條件會觸發 Firehose 交付資料。如果您未設定緩衝值，則會使用預設值。

您可以透過 AWS 管理主控台 AWS Command Line Interface、 或 AWS SDKs 設定 Firehose 緩衝提示。對於現有的串流，您可以使用主控台中的**編輯**選項或使用 [UpdateDestination](https://docs.aws.amazon.com/firehose/latest/APIReference/API_UpdateDestination.html) API，以適合您的使用案例的值重新設定緩衝提示。對於新串流，您可以使用主控台或使用 [CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html) API 將緩衝提示設定為新串流建立的一部分。若要調整緩衝大小，請在 [CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html) 或 [UpdateDestination](https://docs.aws.amazon.com/firehose/latest/APIReference/API_UpdateDestination.html) API 的目的地特定`DestinationConfiguration`參數`IntervalInSeconds`中設定 `SizeInMBs`和 。

**注意**  
緩衝提示會套用至碎片或分割區層級，而動態分割緩衝提示則會套用至串流或主題層級。
若要滿足較低的即時使用案例延遲，您可以使用零緩衝間隔提示。當您將緩衝間隔設定為零秒時，Firehose 不會緩衝資料，並在幾秒內交付資料。將緩衝提示變更為較低的值之前，請向廠商確認 Firehose 對其目的地的建議緩衝提示。
零緩衝功能僅適用於應用程式目的地，不適用於 Amazon S3 備份目的地。
零緩衝功能不適用於動態分割。
當您設定緩衝時間間隔少於 60 秒以提供較低的延遲時，Firehose 會對 S3 目的地使用分段上傳。由於 S3 目的地的分段上傳，如果您選擇緩衝時間間隔小於 60 秒，則 S3 `PUT` API 成本會稍微增加。

如需目的地特定的緩衝提示範圍和預設值，請參閱下表：


| 目標 | 緩衝大小，以 MB 為單位 （括號中的預設值） | 緩衝間隔，以秒為單位 （括號中的預設值） | 
| --- | --- | --- | 
| Amazon S3 | 1-128 (5) | 0-900 (300) | 
| Apache Iceberg 資料表 | 1-128 (5) | 0-900 (300) | 
| Amazon Redshift | 1-128 (5)  | 0-900 (300) | 
| OpenSearch Serverless | 1-100 (5)  | 0-900 (300) | 
| OpenSearch | 1-100 (5) | 0-900 (300) | 
| Splunk | 1-5 (5) | 0-60 (60) | 
| Datadog | 1-4 (4) | 0-900 (60) | 
| Coralogix | 1-64 (6) | 0-900 (60) | 
| Dynatrace | 1-64 (5) | 0-900 (60) | 
| 彈性 | 1 | 0-900 (60) | 
| Honeycomb | 1-64 (15) | 0-900 (60) | 
| HTTP 端點 | 1-64 (5) | 0-900 (60) | 
| LogicMonitor | 1-64 (5) | 0-900 (60) | 
| Logzio | 1-64 (5) | 0-900 (60) | 
| mongoDB  | 1-16 (5) | 0-900 (60) | 
| newRelic | 1-64 (5) | 0-900 (60) | 
| sumoLogic | 1-64 (1) | 0-900 (60) | 
| Splunk Observability Cloud  | 1-64 (1) | 0-900 (60) | 
| Snowflake | 1 - 128 (1) | 0 - 900 (0) | 