@@ -103,22 +103,34 @@ message GetFeaturesRequest {
103103 // EntityDataset if they are providing this dataset through a batch process.
104104 repeated string entity_names = 1 ;
105105
106- // List of Unix epoch timestamp and entity id values
106+ // List of Unix epoch entity_timestamp and entity_id values
107107 repeated EntityDatasetRow entity_dataset_rows = 2 ;
108108 }
109109
110- message EntityDatasetRow {
111- // The first value (required) is a Unix epoch (seconds since epoch) in
112- // INT64 Feast value type. Subsequent values are entity ids following
113- // the order of entity_names in the entity_dataset.
110+ // EntityDatasetRow specifies:
111+ // - the timestamp range over which feature values should be retrieved (required for batch serving)
112+ // - the specific entity ids that should be retrieved (required for online serving)
113+ //
114+ // If there are duplicate entity ids for the same timestamp range, only the
115+ // one with the latest event_timestamp will be retrieved.
116+ //
117+ // Entity ids may be ommitted for batch features retrieval. In this case,
118+ // all entities with distinct entity ids within the valid timestamp range
119+ // will be retrieved.
120+ message EntityDatasetRow {
121+ // entity_timestamp is the upper bound of the timestamp range over
122+ // which the feature values should be retrieved.
114123 //
115- // Entity ids may be ommitted for batch features retrieval. In this case,
116- // all entities with distinct entity ids within the valid timestamp range
117- // will be retrieved.
124+ // The timestamp range is defined as follows:
125+ // entity_timestamp - max_age <= event_timestamp < entity_timestamp
126+ google.protobuf.Timestamp entity_timestamp = 0 ;
127+
128+ // The entity ids for which the feature values should be retrieved.
118129 //
119- // The timestamp range is:
120- // user_provided_unix_epoch - max_age <= event_timestamp < user_provided_unix_epoch
121- repeated feast.types.Value value = 1 ;
130+ // The order of the values should follow that in entity_names in EntityDataset.
131+ // For online serving, it is required to specify entity_ids.
132+ // For batch serving, it is optional.
133+ repeated feast.types.Value entity_ids = 1 ;
122134 }
123135}
124136
0 commit comments