레코드의 TTL (Time to live) 기간 - Amazon SageMaker

레코드의 TTL (Time to live) 기간

Amazon SageMaker 특성 저장소는 특정 기간에 도달한 후 TTL 기간을 통해 온라인 저장소에서 레코드를 영구 삭제할 수 있는 옵션을 제공합니다(TtlDuration). 레코드의 EventTime더하기 TtlDuration값에 도달하거나, ExpiresAt= EventTime+ TtlDuration에 도달하면 레코드가 만료됩니다. TtlDuration을 특성 그룹 수준에서 적용할 수 있습니다.특성 그룹 내의 모든 레코드는 TtlDuration기본값으로 특성 그룹 수준에서 적용되거나 개별 레코드 수준에서 적용됩니다. TtlDuration이 지정되지 않은 경우 기본값은 null이며 덮어쓸 때까지 레코드가 온라인 저장소에 남아 있습니다.

TtlDuration을 사용하여 삭제한 레코드는 온라인 저장소에서 영구 삭제되거나 완전히 제거되며 삭제된 레코드는 오프라인 저장소에 추가됩니다. 영구 삭제 및 삭제 모드에 대한 자세한 내용은 Amazon SageMaker API 참조 안내서의 DeleteRecord섹션을 참조하세요. 레코드가 하드 삭제되면 Feature Store API를 사용하여 즉시 액세스할 수 없게 됩니다.

중요

TTL은 일반적으로 만료된 항목을 며칠 내에 삭제합니다. 테이블의 크기 및 작업 수준에 따라 만료된 항목의 실제 삭제 작업이 달라질 수 있습니다. TTL은 백그라운드 프로세스이므로 TTL을 통해 항목을 만료하고 삭제하는 데 사용되는 용량의 특성은 가변적이지만 무료입니다. DynamoDB 테이블에서 항목을 삭제하는 방법에 대한 자세한 내용은 작동 방식: DynamoDB TTL (Time to Live)을 참조하세요.

TtlDurationUnit, Value를 포함하는 딕셔너리여야 합니다.여기서 Unit은 '초', '분', '시간', '일' 또는 '주' 값을 포함하는 문자열이어야 하며 Value는 1보다 크거나 같은 정수여야 합니다. TtlDurationCreateFeatureGroup, UpdateFeatureGroup, PutRecordAPI를 사용하는 동안 적용할 수 있습니다. CreateFeatureGroup, UpdateFeatureGroupPutRecordAPI에 대한 Python용 SDK (Boto3) 설명서의 요청 및 응답 구문을 참조하세요.

  • CreateFeatureGroup 또는 UpdateFeatureGroupAPI를 사용하여 특성 그룹 수준에서 TtlDuration을 적용하면 API가 호출된 시점부터 특성 그룹에 추가된 모든 레코드의 TtlDuration기본값이 적용된 TtlDuration이 됩니다. UpdateFeatureGroup API로 TtlDuration을 적용하는 경우 API가 호출되기 전에 생성된 레코드의 경우 이 설정은 TtlDuration기본값으로 적용 되지 않습니다.

    기존 특성 그룹에서 기본값 TtlDuration을 제거하려면 UpdateFeatureGroup API를 사용하고 TtlDuration UnitValuenull로 설정합니다.

  • 레코드 수준에서 TtlDuration을 적용(예: PutRecordAPI 사용)하면 TtlDuration기간이 해당 레코드에 적용되며 특성 그룹 수준 TtlDuration기본값 대신 사용됩니다.

  • 특성 그룹 수준에서 TtlDuration을 적용하면 TtlDuration이 적용되는 데 몇 분 정도 걸릴 수 있습니다.

  • 온라인 저장소가 없을 때 TtlDuration을 사용하면 Validation Exception (400)오류가 발생합니다.

다음 예제 코드는 API를 실행한 후 특성 그룹에 추가된 레코드가 기본적으로 이벤트 시간으로부터 4주 후에 만료되도록 특성 그룹을 업데이트하는 동안 TtlDuration을 적용하는 방법을 보여줍니다.

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기본값을 볼 수 있습니다.

GetRecord 또는 BatchGetRecordAPI를 사용하는 동안 만료 시간 ExpiresAt(UTC 시간 ISO-8601 형식)을 보려면 ExpirationTimeResponseENABLED로 설정해야 합니다. DescribeFeatureGroup, GetRecordBatchGetRecordAPI에 대한 Python용 SDK (Boto3) 설명서의 요청 및 응답 구문을 참조하세요.