updateRecord
Updates one or more feature values for an existing record in the specified feature group. Features that you do not include in the request remain unchanged. You can update up to 100 features per call.
This operation is available only for feature groups that use the Standard_V2 or InMemory online store type.
The record must already exist. If the record does not exist or has been soft-deleted, the operation returns a ResourceNotFound error. To create a record, use PutRecord.
If you provide an EventTime that is older than the record's current EventTime, the service rejects the update with a ConflictException. If the EventTime is equal to or newer than the current value, the service applies the update. If you omit EventTime, the service keeps the record's existing EventTime and applies the update.
If you specify a TtlDuration, you must also provide an EventTime in the request. Otherwise, the operation returns a ValidationError.
Samples
// Update specific features in a record
val resp = sageMakerFeatureStoreRuntimeClient.updateRecord {
featureGroupName = "my-feature-group"
recordIdentifierValueAsString = "cust-001"
features = listOf<FeatureValue>(
FeatureValue {
featureName = "age"
valueAsString = "26"
},
FeatureValue {
featureName = "membership_tier"
valueAsString = "gold"
},
FeatureValue {
featureName = "event_time"
valueAsString = "2026-07-26T12:00:00Z"
}
)
}// Update features and set a time to live (TTL) duration
val resp = sageMakerFeatureStoreRuntimeClient.updateRecord {
featureGroupName = "my-feature-group"
recordIdentifierValueAsString = "cust-001"
features = listOf<FeatureValue>(
FeatureValue {
featureName = "age"
valueAsString = "26"
},
FeatureValue {
featureName = "event_time"
valueAsString = "2026-07-26T12:00:00Z"
}
)
ttlDuration = TtlDuration {
unit = TtlDurationUnit.fromValue("Weeks")
value = 4
}
}