存留時間 (TTL) 記錄持續時間 - Amazon SageMaker AI

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

存留時間 (TTL) 記錄持續時間

Amazon SageMaker Feature Store 提供選項,可讓您在達到持續時間,即達到存留時間 (TTL) 持續時間 (TtlDuration) 後從線上儲存硬刪除記錄。記錄將在記錄的 EventTime 加上 TtlDuration (或 ExpiresAt = EventTime + TtlDuration) 達到之後到期。TtlDuration 可以套用於特徵群組層級,預設情况下,特徵群組中的所有記錄都將具有 TtlDuration,也可以套用於單個記錄層級。如果未指定 TtlDuration,則預設值為 null,且記錄將保留在線上儲存中,直到覆寫為止。

使用 TtlDuration 刪除的記錄會被硬刪除,或從線上儲存完全移除,而刪除的記錄會新增至離線儲存。如需有關硬刪除和刪除模式的更多資訊,請參閱 Amazon SageMaker API 參考指南中的 DeleteRecord。當記錄被硬刪除時,它會立即無法使用 Feature Store APIs存取。

重要

TTL 通常會在幾天內刪除過期的項目。視資料表的大小和活動層級而定,已過期項目的實際刪除操作可能有所不同。由於 TTL 是要用作為背景處理程序,因此透過 TTL 讓項目過期和刪除項目所用的容量性質不定 (但是免費)。如需有關如何從 DynamoDB 資料表中刪除項目的更多資訊,請參閱運作方式:DynamoDB 存留時間 (TTL)

TtlDuration 必須是包含 UnitValue 的字典,其中 Unit 必須是值為 “秒”、“分鐘”、“小時”、“天” 或 “週” 的字串,且 Value 必須是大於或等於 1 的整數。TtlDuration 可以在使用 CreateFeatureGroupUpdateFeatureGroupPutRecord API 時套用。請參閱 CreateFeatureGroupUpdateFeatureGroupPutRecord API 的適用於 Python 的 SDK (Boto3) 文件中的請求和回應語法。

  • 在特徵群組層級 (使用 CreateFeatureGroupUpdateFeatureGroup API) 套用 TtlDuration 時,從調用 API 的時間點起,套用的 TtlDuration 將成為新增至特徵群組的所有記錄的預設 TtlDuration。使用 UpdateFeatureGroup API 套用 TtlDuration 時,這會成為調用 API 之前建立的記錄的預設值 TtlDuration

    若要TtlDuration從現有的功能群組中移除預設值,請使用 UpdateFeatureGroup API,並將 TtlDurationUnitValue 設定為 null

  • 當在記錄層級 (例如,使用 PutRecord API) 套用 TtlDuration 時,TtlDuration 持續時間會套用至該記錄,並使用此持續時間來取代特徵群組層級預設值 TtlDuration

  • 在特徵群組層級上套用 TtlDuration 時,TtlDuration 可能需要幾分鐘才能生效。

  • 如果在沒有線上儲存時使用 TtlDuration,您將收到 Validation Exception (400) 錯誤。

以下範例程式碼示範如何在更新特徵群組時套用 TtlDuration,以便在執行 API 之後新增到特徵群組的記錄預設情況下將在其事件時間後四週過期。

import boto3 sagemaker_client = boto3.client("sagemaker") feature_group_name = '<YOUR_FEATURE_GROUP_NAME>' sagemaker_client.update_feature_group( FeatureGroupName=feature_group_name, OnlineStoreConfig={ TtlDuration:{ Unit: "Weeks", Value: 4 } } )

您可以透過 DescribeFeatureGroup API 來檢視預設 TtlDuration

要在使用 GetRecordBatchGetRecord API 時檢視過期時間 ExpiresAt (UTC 時間 ISO-8601 格式),必須將 ExpirationTimeResponse 設定為 ENABLED。請參閱 DescribeFeatureGroupGetRecordBatchGetRecord API 的適用於 Python 的 SDK (Boto3) 文件中的請求和回應語法。