

# スナップショット保持オプティマイザーの更新
<a name="update-snapshot-retention"></a>

 AWS Glue コンソール、AWS CLI、または UpdateTableOptimizer API を使用して、特定の Apache Iceberg テーブルに対するスナップショット保持オプティマイザーの既存の設定を更新できます。

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

**スナップショット保持設定を更新するには**

1. AWS マネジメントコンソールにサインインし、AWS Glue コンソール ([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)) を開きます。

1. **[データカタログ]**、**[テーブル]** の順に選択します。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 (必須): テーブルオプティマイザーのタイプ (compaction、retention、または orphan\_file\_deletion) 
+  retentionConfiguration (必須): ロールの ARN、有効ステータス、保持設定、孤立ファイル削除設定など、テーブルオプティマイザーの更新された設定。

------