Time To Live (TTL), Gültigkeitsdauer der Verbindung
Amazon SageMaker Feature Store bietet die Möglichkeit, dass Datensätze nach Erreichen einer bestimmten Zeitdauer dauerhaft aus dem Online-Speicher gelöscht werden, wobei die Gültigkeitsdauer (TTL) angegeben wird (TtlDuration). Der Datensatz läuft ab, wenn das EventTime Plus TtlDuration für den Datensatz erreicht ist, oder ExpiresAt = EventTime + TtlDuration. Das TtlDuration kann auf Feature-Gruppenebene angewendet werden, wobei alle Datensätze innerhalb der Feature-Gruppe TtlDuration standardmäßig den Standard haben, oder auf Einzeldatensatzebene. Wenn nicht angegeben, TtlDuration ist der Standardwert null und der Datensatz verbleibt im Online-Speicher, bis er überschrieben wird.
Ein mit gelöschter Datensatz TtlDuration wird dauerhaft gelöscht oder vollständig aus dem Onlineshop entfernt, und der gelöschte Datensatz wird dem Offlinespeicher hinzugefügt. Weitere Informationen zu den Modi „Festes Löschen“ und „Löschen“ finden Sie unter DeleteRecord im Amazon-SageMaker-API-Referenzhandbuch. Wenn ein Datensatz dauerhaft gelöscht wurde, kann über Feature Store-APIs sofort nicht mehr darauf zugegriffen werden.
Wichtig
TTL löscht abgelaufene Elemente in der Regel innerhalb weniger Tage. Abhängig von der Größe und der Aktivitätsstufe einer Tabelle kann der tatsächliche Löschvorgang eines abgelaufenen Elements variieren. Da TTL als Hintergrundprozess gedacht ist, ist die Kapazität, die zum Veranlassen des Ablaufs und zum Löschen von Elementen über TTL verwendet wird, variabel (aber kostenlos). Weitere Informationen darüber, wie Elemente aus einer DynamoDB-Tabelle gelöscht werden, finden Sie unter Funktionsweise: DynamoDB Time to Live(TTL).
TtlDuration muss ein Wörterbuch sein, das Unit und Value enthält, wobei es sich um eine Zeichenfolge mit den Unit Werten „Sekunden“, „Minuten“, „Stunden“, „Tage“ oder „Wochen“ handelt und Value muss und eine Ganzzahl größer oder gleich 1 sein muss. TtlDuration kann bei der Verwendung der CreateFeatureGroup, UpdateFeatureGroup und PutRecord APIs angewendet werden. Die Anforderungs- und Antwortsyntax finden Sie in der Dokumentation zum SDK für Python (Boto3) für CreateFeatureGroupUpdateFeatureGroupPutRecord
-
Wenn auf Feature-Gruppenebene
TtlDurationangewendet wird (mithilfe derCreateFeatureGroupoderUpdateFeatureGroupAPIs), das angewendeteTtlDurationwird zum StandardTtlDurationfür alle Datensätze, die der Feature-Gruppe ab dem Zeitpunkt hinzugefügt werden, zu dem die API aufgerufen wird. Bei der AnwendungTtlDurationmit derUpdateFeatureGroupAPI wird dies nichtTtlDurationzur Standardeinstellung für Datensätze, die vor dem Aufruf der API erstellt wurden.Um den Standard
TtlDurationaus einer vorhandenen Feature-Gruppe zu entfernen, verwenden Sie dieUpdateFeatureGroupAPI und setzen SieTtlDurationUnitundValueaufnull. -
Wenn
TtlDurationauf Datensatzebene angewendet wird (z. B. mithilfe einerPutRecordAPI), gilt dieTtlDurationDauer für diesen Datensatz und wird anstelle der Standardeinstellung auf Feature-GruppenebeneTtlDurationverwendet. -
Wenn
TtlDurationauf Feature-Gruppenebene angewendet wird, kann es einige Minuten dauern, bisTtlDurationwirksam wird. -
Wenn
TtlDurationverwendet wird, wenn es keinen Online-Speicher gibt, erhalten Sie eineValidation Exception (400)-Fehlermeldung.
Der folgende Beispielcode zeigt, wie TtlDuration bei der Aktualisierung einer Feature-Gruppe ein Antrag gestellt wird, sodass die Datensätze, die der Feature-Gruppe nach dem Ausführen der API hinzugefügt wurden, standardmäßig vier Wochen nach ihrer Ereigniszeit ablaufen.
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 } } )
Sie können die DescribeFeatureGroup API verwenden, um die Standardeinstellung anzuzeigen TtlDuration.
Um die Ablaufzeiten, ExpiresAt (im UTC-Format ISO-8601) während der Verwendung der GetRecord oder BatchGetRecord APIs anzuzeigen, müssen Sie ExpirationTimeResponse auf ENABLED einstellen. Die Anforderungs- und Antwortsyntax finden Sie in der Dokumentation zum SDK für Python (Boto3) für DescribeFeatureGroupGetRecordBatchGetRecord