

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

# 更新快照保留最佳化工具
<a name="update-snapshot-retention"></a>

 您可以使用 AWS Glue 主控台 AWS CLI或 UpdateTableOptimizer API，更新特定 Apache Iceberg 資料表快照保留最佳化工具的現有組態。

------
#### [ Console ]

**更新快照保留組態**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) 開啟 AWS Glue 主控台。

1. 選擇 **Data Catalog**，然後選擇**資料表**。從資料表清單中，選擇您要更新快照保留最佳化工具組態的 Iceberg 資料表。

1. 在**資料表詳細資訊**頁面的下部，選取**資料表最佳化**索引標籤，然後選擇**編輯**。也可以從頁面右上角的**動作**功能表中選擇**最佳化**下的**編輯**。

1.  在**編輯最佳化**頁面中，進行所需的變更。

1.  選擇**儲存**。

------
#### [ AWS CLI ]

 若要使用 更新快照保留最佳化工具 AWS CLI，您可以使用下列命令：

```
aws glue update-table-optimizer \
 --catalog-id {{123456789012}} \
 --database-name {{iceberg_db}} \
 --table-name {{iceberg_table}} \
 --table-optimizer-configuration '{"roleArn":"arn:aws:iam::{{123456789012}}:role/{{optimizer_role}}"","enabled":'true', "vpcConfiguration":{"glueConnectionName":{{"glue_connection_name"}}},"retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":{{7}},"numberOfSnapshotsToRetain":{{3}},"cleanExpiredFiles":{{'true'}}}}}' \
 --type retention
```

 此命令會更新指定目錄、資料庫和區域中指定資料表的保留組態。關鍵參數為：
+  snapshotRetentionPeriodInDays – 快照過期前保留的天數。預設值為 `1`。
+ numberOfSnapshotsToRetain – 要保留的快照數目下限，即使其早於保留期間。預設值為 `5`。
+ cleanExpiredFiles – 布林值，指出是否要在快照過期後刪除過期的資料檔案。預設值為 `true`。

   設定為 true 時，較舊的快照會從資料表中繼資料中移除，並且會刪除其基礎檔案。如果將此參數設定為 false，較舊的快照會從資料表中繼資料中移除，但基礎檔案會保留在儲存體中作為孤立檔案。

------
#### [ API ]

若要更新資料表最佳化工具，可以使用 `UpdateTableOptimizer` API。此 API 可讓您更新現有資料表最佳化工具的組態，以進行壓縮、保留或孤立檔案移除。請求參數包括：
+ catalogId (必要)：包含資料表的目錄 ID 
+  databaseName (選用)：包含資料表的資料庫名稱 
+  tableName (選用)：資料表的名稱 
+  type (必要)：資料表最佳化工具的類型 (壓縮、保留或孤立檔案刪除) 
+  retentionConfiguration (必要)：資料表最佳化工具的更新組態，包括角色 ARN、啟用狀態、保留組態和孤立檔案移除組態。

------