

# 表存储桶的维护
<a name="s3-table-buckets-maintenance"></a>

Amazon S3 提供维护操作，以增强表存储桶的管理和性能。默认情况下，对所有表存储桶启用了以下选项。您可以通过为表存储桶指定维护配置文件来编辑或禁用此选项。

编辑此配置需要 `s3tables:PutTableBucketMaintenanceConfiguration` 权限。

**Topics**
+ [未引用文件移除](#s3-table-bucket-maintenance-unreferenced)
+ [注意事项和限制](#s3-tables-buckets-considerations-see-more)

## 未引用文件移除
<a name="s3-table-bucket-maintenance-unreferenced"></a>

未引用文件移除会识别并删除所有未被任何表快照引用的对象。作为未引用文件移除策略的一部分，您可以配置两个属性：`unreferencedDays`（默认为 3 天）和 `nonCurrentDays`（默认为 10 天）。

对于您的表未引用且早于 `unreferencedDays` 属性的任何对象，S3 将该对象标记为非当前版本。S3 会在 `nonCurrentDays` 属性指定的天数后删除非当前对象。

**注意**  
删除非当前对象是永久性的，无法恢复这些对象。

要查看或恢复已标记为非当前版本的对象，必须联系 Amazon Web Services 支持。有关联系 Amazon Web Services 支持 的信息，请参阅[联系 Amazon](https://www.amazonaws.cn/contact-us/) 或 [Amazon Web Services 支持 文档](https://www.amazonaws.cn/documentation/aws-support/)。

未引用文件移除仅根据对表的引用来确定要从该表中删除的对象。在表之外对这些对象进行的任何引用都不会阻止未引用文件移除来删除对象。

如果您禁用未引用文件移除，则任何正在进行的任务都不会受到影响。配置更改后，新配置将在下一个任务中生效。有关更多信息，请参阅 [Amazon S3 定价](https://www.amazonaws.cn/s3/pricing/)中的定价信息。

您只能在表存储桶级配置未引用文件移除。此配置将应用于存储桶中的每个表。

**使用 Amazon CLI 配置未引用文件移除**  
以下示例将使用 `PutTableBucketMaintenanceConfiguration` API 将 `unreferencedDays` 设置为 4 天，并将 `nonCurrentDays` 设置为 10 天。  

```
aws s3tables put-table-bucket-maintenance-configuration \
   --table-bucket-arn arn:aws:s3tables:{{us-east-1}}:{{111122223333}}:bucket/amzn-s3-demo-table-bucket \
   --type icebergUnreferencedFileRemoval \
   --value '{"status":"enabled","settings":{"icebergUnreferencedFileRemoval":{"unreferencedDays":4,"nonCurrentDays":10}}}'
```

有关更多信息，请参阅《Amazon CLI Command Reference》**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-bucket-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-bucket-maintenance-configuration.html)。

## 注意事项和限制
<a name="s3-tables-buckets-considerations-see-more"></a>

要了解有关未引用文件移除的其它注意事项和限制的更多信息，请参阅[维护任务的注意事项和限制](s3-tables-considerations.md)。