Define a FeatureGroup with a record identifier feature name and an event time feature name, then specify EnableOnlineStore=True in OnlineStoreConfig
Call feature_group.ingest(data_frame=df, max_workers=4) to populate both the offline (S3/Glue) and online (in-memory) stores
Retrieve a single record at inference time using featurestore_runtime.get_record(FeatureGroupName=name, RecordIdentifierValueAsString=id)
Use batch_get_record() to fetch up to 100 records per call when assembling feature vectors for a batch of requests
Monitor ingestion lag using CloudWatch metric IngestionLatency on the FeatureGroup namespace
Known gotchas
Online store latency is typically single-digit milliseconds, but the first get_record() call after a cold start can take several seconds due to in-memory store warm-up
The event time feature must be in ISO-8601 format string — passing a Unix timestamp integer will fail schema validation silently and the record will not be ingested
Deleting a FeatureGroup does not immediately remove records from the online store; there is an eventual-consistency delay of up to several minutes
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp