@@ -29,6 +29,7 @@ import "google/cloud/aiplatform/v1beta1/operation.proto";
2929import "google/longrunning/operations.proto" ;
3030import "google/protobuf/field_mask.proto" ;
3131import "google/protobuf/timestamp.proto" ;
32+ import "google/type/interval.proto" ;
3233
3334option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1" ;
3435option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform" ;
@@ -290,8 +291,7 @@ service FeaturestoreService {
290291 // returned from reads and exports may be inconsistent. If consistency is
291292 // required, the caller must retry the same delete request again and wait till
292293 // the new operation returned is marked as successfully done.
293- rpc DeleteFeatureValues (DeleteFeatureValuesRequest )
294- returns (google.longrunning.Operation ) {
294+ rpc DeleteFeatureValues (DeleteFeatureValuesRequest ) returns (google.longrunning.Operation ) {
295295 option (google.api.http ) = {
296296 post : "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:deleteFeatureValues"
297297 body : "*"
@@ -548,6 +548,10 @@ message ImportFeatureValuesResponse {
548548 // * Having a null timestamp.
549549 // * Not being parsable (applicable for CSV sources).
550550 int64 invalid_row_count = 6 ;
551+
552+ // The number rows that weren't ingested due to having feature timestamps
553+ // outside the retention boundary.
554+ int64 timestamp_outside_retention_rows_count = 4 ;
551555}
552556
553557// Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues].
@@ -1216,6 +1220,10 @@ message ImportFeatureValuesOperationMetadata {
12161220 // * Having a null timestamp.
12171221 // * Not being parsable (applicable for CSV sources).
12181222 int64 invalid_row_count = 6 ;
1223+
1224+ // The number rows that weren't ingested due to having timestamps outside the
1225+ // retention boundary.
1226+ int64 timestamp_outside_retention_rows_count = 7 ;
12191227}
12201228
12211229// Details of operations that exports Features values.
@@ -1254,27 +1262,47 @@ message BatchCreateFeaturesOperationMetadata {
12541262 GenericOperationMetadata generic_metadata = 1 ;
12551263}
12561264
1257- // Request message for
1258- // [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
1265+ // Request message for [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
12591266message DeleteFeatureValuesRequest {
12601267 // Message to select entity.
12611268 // If an entity id is selected, all the feature values corresponding to the
12621269 // entity id will be deleted, including the entityId.
12631270 message SelectEntity {
1264- // Required. Selectors choosing feature values of which entity id to be
1265- // deleted from the EntityType.
1266- EntityIdSelector entity_id_selector = 1
1267- [(google.api.field_behavior ) = REQUIRED ];
1271+ // Required. Selectors choosing feature values of which entity id to be deleted from
1272+ // the EntityType.
1273+ EntityIdSelector entity_id_selector = 1 [(google.api.field_behavior ) = REQUIRED ];
1274+ }
1275+
1276+ // Message to select time range and feature.
1277+ // Values of the selected feature generated within an inclusive time range
1278+ // will be deleted.
1279+ message SelectTimeRangeAndFeature {
1280+ // Required. Select feature generated within a half-inclusive time range.
1281+ // The time range is lower inclusive and upper exclusive.
1282+ google.type.Interval time_range = 1 [(google.api.field_behavior ) = REQUIRED ];
1283+
1284+ // Required. Selectors choosing which feature values to be deleted from the
1285+ // EntityType.
1286+ FeatureSelector feature_selector = 2 [(google.api.field_behavior ) = REQUIRED ];
1287+
1288+ // If set, data will not be deleted from online storage.
1289+ // When time range is older than the data in online storage, setting this to
1290+ // be true will make the deletion have no impact on online serving.
1291+ bool skip_online_storage_delete = 3 ;
12681292 }
12691293
12701294 // Defines options to select feature values to be deleted.
12711295 oneof DeleteOption {
12721296 // Select feature values to be deleted by specifying entities.
12731297 SelectEntity select_entity = 2 ;
1298+
1299+ // Select feature values to be deleted by specifying time range and
1300+ // features.
1301+ SelectTimeRangeAndFeature select_time_range_and_feature = 3 ;
12741302 }
12751303
1276- // Required. The resource name of the EntityType grouping the Features for
1277- // which values are being deleted from. Format:
1304+ // Required. The resource name of the EntityType grouping the Features for which values
1305+ // are being deleted from. Format:
12781306 // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
12791307 string entity_type = 1 [
12801308 (google.api.field_behavior ) = REQUIRED ,
@@ -1284,9 +1312,10 @@ message DeleteFeatureValuesRequest {
12841312 ];
12851313}
12861314
1287- // Response message for
1288- // [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
1289- message DeleteFeatureValuesResponse {}
1315+ // Response message for [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
1316+ message DeleteFeatureValuesResponse {
1317+
1318+ }
12901319
12911320// Selector for entityId. Getting ids from the given source.
12921321message EntityIdSelector {
0 commit comments