

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

# 記錄資料表的過期時間
<a name="s3-tables-record-expiration"></a>

根據預設，S3 資料表中的記錄不會過期。為了協助將資料表的儲存成本降至最低，您可以啟用和設定資料表的記錄過期時間。使用此選項時，Amazon S3 會在記錄過期時自動從資料表中移除記錄。

如果您啟用資料表的記錄過期，您可以指定在記錄過期之前保留資料表中記錄的天數。這可以是從 1 天到 2，147，483，647 天的任何天數。例如，若要保留資料表記錄一年，請指定`365`天數。然後，記錄會保留 365 天。365 天後，記錄會過期，Amazon S3 會自動將其移除。

您可以為存放特定 AWS 服務目前 Amazon S3 Storage Lens 和 Amazon SageMaker Catalog 特定資料集的 AWS 受管資料表啟用和設定記錄過期。記錄過期選項目前不適用於其他 AWS 受管資料表。例外是 Amazon S3 中繼資料日誌資料表。日誌資料表使用您在服務層級指定的不同記錄過期設定。如需為此類資料表設定記錄過期的資訊，請參閱 [到期的日誌資料表記錄](metadata-tables-expire-journal-table-records.md)。請注意，記錄過期選項不適用於您建立的 S3 資料表。

啟用資料表的記錄過期後，您可以隨時將其停用。然後，Amazon S3 會停止過期並從資料表中移除記錄。

**Topics**
+ [運作方式](#s3-tables-record-expiration-how-it-works)
+ [設定記錄過期](#s3-tables-record-expiration-configure)
+ [監控記錄過期](#s3-tables-record-expiration-monitor)
+ [考量事項](#s3-tables-expiration-considerations)

## 記錄過期的運作方式
<a name="s3-tables-record-expiration-how-it-works"></a>

當記錄早於您在資料表的記錄過期設定中指定的天數時，記錄過期會自動從 S3 資料表中移除記錄。為了判斷記錄何時過期，Amazon S3 會使用記錄中的特定時間戳記。時間戳記資料欄的選擇直接衍生自資料表的資料表結構描述。您不需要指定要使用的時間戳記欄。資料表由 管理， AWS 而當您啟用資料表的記錄過期時，Amazon S3 會自動選擇要使用的適當資料欄。

您可以為存放特定 Amazon S3 Storage Lens 指標或特定 Amazon SageMaker Catalog 中繼資料的 AWS 受管資料表啟用和設定記錄過期設定。記錄過期選項適用於這些服務的下列 AWS 受管資料表：
+ S3 Storage Lens – `bucket_property_metrics`、`default_activity_metrics`、`expanded_prefixes_activity_metrics`、 `default_storage_metrics`和 `expanded_prefixes_storage_metrics`。為了判斷這些資料表中的記錄何時過期，Amazon S3 會使用記錄中的 `report_time` 欄位。
+ Amazon SageMaker Catalog – `ASSET`。為了判斷此表格中的記錄何時過期，Amazon S3 會使用記錄中的 `snapshot_time` 欄位。

啟用資料表的記錄過期後，Amazon S3 會開始執行記錄過期任務，以對資料表執行下列操作：

1. 識別早於指定過期設定的記錄。

1. 建立新的快照，排除對過期記錄的參考。

移除也基於資料表維護組態設定中的快照過期和未參考的檔案移除設定。若要進一步了解這些設定，請參閱 [資料表的維護](s3-tables-maintenance.md)。

**警告**  
Amazon S3 會在記錄符合過期資格後 24 到 48 小時內過期並移除記錄。資料表記錄會從最新的快照中移除。透過資料表維護操作移除記錄的資料和儲存。資料表記錄過期後就無法復原。

## 設定資料表的記錄過期
<a name="s3-tables-record-expiration-configure"></a>

您可以使用 Amazon S3 主控台、Amazon S3 REST API、 AWS Command Line Interface (AWS CLI) 或 AWS SDKs 來啟用、設定和以其他方式管理 SAmazon S3 資料表的記錄過期設定。 Amazon S3 

在您嘗試對資料表執行這些任務之前，請確定您具有下列 AWS Identity and Access Management (IAM) 許可：
+ `s3tables:GetTableRecordExpirationConfiguration` – 此動作可讓您存取資料表目前的記錄過期設定。
+ `s3tables:PutTableRecordExpirationConfiguration` – 此動作可讓您啟用、設定和停用資料表的記錄過期設定。
+ `s3tables:GetTableRecordExpirationJobStatus` – 此動作可讓您監控資料表的記錄過期操作 （任務） 的狀態，以及操作的存取指標。

下列各節說明如何使用 Amazon S3 主控台和 來啟用、設定和停用資料表的記錄過期設定 AWS CLI。若要使用 Amazon S3 REST API 或 AWS SDK 執行這些任務，請使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableRecordExpirationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableRecordExpirationConfiguration.html)操作。如需詳細資訊，請參閱《[Amazon Simple Storage Service API 參考》中的使用 Amazon S3 進行開發](https://docs.aws.amazon.com/AmazonS3/latest/API/developing-s3.html)。 **

### 使用 S3 主控台
<a name="configure-table-record-expiration-console"></a>

若要使用主控台啟用和設定 S3 資料表的記錄過期設定，請遵循下列步驟。

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

1. 在左側導覽窗格中，選擇**資料表儲存貯體**。

1. 在**資料表儲存貯**體頁面上，選擇存放資料表的儲存貯體。

1. 在**資料表**索引標籤上，選擇資料表。

1. 在**維護**索引標籤的記錄**過期**區段中，選擇**編輯**。

1. 在**記錄過期**下，選擇**啟用**。

1. 對於**記錄過期的天數**，輸入要在資料表中保留記錄的天數。這可以是介於 1 到 2，147，483，647 之間的任何整數。例如，若要保留記錄一年，請輸入 **365**。
**警告**  
當您判斷資料表中記錄的適當保留期間時，請注意，記錄在過期後將無法復原。

1. 選擇**儲存變更**。

若要後續變更保留期，請重複上述步驟。

若要隨後停用記錄過期，請重複步驟 1 到 5。然後，針對步驟 6，選擇**停用**。完成後，請選擇**儲存變更**。

### 使用 AWS CLI
<a name="configure-table-record-expiration-CLI"></a>

若要使用 設定和管理 S3 資料表的記錄過期設定 AWS CLI，請執行 [https://docs.aws.amazon.com/cli/latest/reference/s3tables/put-table-record-expiration-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/s3tables/put-table-record-expiration-configuration.html)命令。

您可以先建立 JSON 檔案，其中包含要套用至資料表的記錄過期設定。下列範例顯示 JSON 檔案的內容，可啟用資料表的記錄過期。它也會為資料表中的記錄指定 30 天的保留期。換句話說，它會指定資料表記錄應在 30 天後過期。

```
{
    "status": "enabled",
        "settings": {
            "days": 30
        {
}
```

若要使用上述範例，請將 取代`user input placeholders`為您自己的資訊。

**警告**  
當您判斷資料表中記錄的適當保留期間時，請注意，記錄在過期後將無法復原。

若要停用資料表的記錄過期，請`disabled`為 `status` 欄位指定 ，並從 檔案省略 `settings` 物件。例如：

```
{
    "status": "disabled"
}
```

使用要套用的設定建立 JSON 檔案之後，請執行 `put-table-record-expiration-configuration`命令。針對 `table-arn` 參數，指定資料表的 Amazon Resource Name (ARN)。針對 `value` 參數，指定存放設定的檔案名稱。

例如，下列命令會更新資料表的記錄過期設定。這些設定是在名為 的檔案中指定*`record-expiration-config.json`*。

```
aws s3tables put-table-record-expiration-configuration \
    --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table \
    --value file://./record-expiration-config.json
```

若要使用上述範例，請將 取代`user input placeholders`為您自己的資訊。

## 監控資料表的記錄過期
<a name="s3-tables-record-expiration-monitor"></a>

若要監控 S3 資料表的記錄過期操作的狀態和結果，請使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_GetTableRecordExpirationJobStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_GetTableRecordExpirationJobStatus.html)操作，或者，如果您使用的是 AWS CLI，請執行 [https://docs.aws.amazon.com/cli/latest/reference/s3tables/get-table-record-expiration-job-status.html](https://docs.aws.amazon.com/cli/latest/reference/s3tables/get-table-record-expiration-job-status.html)命令。在您的請求中，指定資料表的 Amazon Resource Name (ARN)。

例如，下列 AWS CLI 命令會擷取資料表儲存貯體中特定資料表的記錄過期操作狀態。若要使用此範例，請以您自己的資訊取代 `user input placeholders`。

```
aws s3tables get-table-record-expiration-job-status \
    --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table
```

如果您的請求成功，您會收到回應，提供詳細資訊，例如 Amazon S3 最近何時執行資料表的記錄過期操作，以及該執行的狀態。如果最近執行成功，回應也包含處理指標，例如，移除的資料檔案和記錄數目，以及移除的資料總大小。如果在最近一次執行期間發生錯誤，回應會包含失敗訊息，說明執行失敗的原因。

## 考量事項
<a name="s3-tables-expiration-considerations"></a>

當您設定和管理 AWS 受管 S3 資料表的記錄過期設定時，請記住下列事項：
+ 記錄過期僅適用於由支援的 Amazon S3 Storage Lens AWS 服務和 Amazon SageMaker Catalog 建立的特定 AWS 受管資料表。此外，記錄過期僅適用於個別資料表，而非整個資料表儲存貯體。
+ 為了判斷記錄何時過期，Amazon S3 會使用資料表中的特定時間戳記。這些時間戳記代表建立資料的時間，而不是 Amazon S3 在資料表中擷取記錄的時間。使用的時間戳記欄取決於發佈資料表的服務：對於 S3 Storage Lens 指標， 欄位`report_time`；對於 Amazon SageMaker Catalog 中繼資料， `snapshot_time` 欄位。您無法指定要使用的欄位，因為資料表是由 管理 AWS。
+ 如果將資料匯出到資料表時發生延遲，則記錄可能比您預期的更快符合過期資格。因此，我們建議您將緩衝新增至資料表過期設定中的保留期間，以考量潛在的擷取延遲。
+ 記錄會過期，並在符合過期資格後的 24 到 48 小時內移除。Amazon S3 不會過期，並在符合過期資格後立即移除記錄。
+ 記錄過期並移除後，就無法復原。