12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.aiplatform.v1beta1;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/cloud/aiplatform/v1beta1/entity_type.proto";
- import "google/cloud/aiplatform/v1beta1/feature.proto";
- import "google/cloud/aiplatform/v1beta1/feature_selector.proto";
- import "google/cloud/aiplatform/v1beta1/featurestore.proto";
- import "google/cloud/aiplatform/v1beta1/io.proto";
- import "google/cloud/aiplatform/v1beta1/operation.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- import "google/type/interval.proto";
- option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
- option java_multiple_files = true;
- option java_outer_classname = "FeaturestoreServiceProto";
- option java_package = "com.google.cloud.aiplatform.v1beta1";
- option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
- option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
- // The service that handles CRUD and List for resources for Featurestore.
- service FeaturestoreService {
- option (google.api.default_host) = "aiplatform.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
- // Creates a new Featurestore in a given project and location.
- rpc CreateFeaturestore(CreateFeaturestoreRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{parent=projects/*/locations/*}/featurestores"
- body: "featurestore"
- };
- option (google.api.method_signature) = "parent,featurestore";
- option (google.api.method_signature) = "parent,featurestore,featurestore_id";
- option (google.longrunning.operation_info) = {
- response_type: "Featurestore"
- metadata_type: "CreateFeaturestoreOperationMetadata"
- };
- }
- // Gets details of a single Featurestore.
- rpc GetFeaturestore(GetFeaturestoreRequest) returns (Featurestore) {
- option (google.api.http) = {
- get: "/v1beta1/{name=projects/*/locations/*/featurestores/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists Featurestores in a given project and location.
- rpc ListFeaturestores(ListFeaturestoresRequest) returns (ListFeaturestoresResponse) {
- option (google.api.http) = {
- get: "/v1beta1/{parent=projects/*/locations/*}/featurestores"
- };
- option (google.api.method_signature) = "parent";
- }
- // Updates the parameters of a single Featurestore.
- rpc UpdateFeaturestore(UpdateFeaturestoreRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1beta1/{featurestore.name=projects/*/locations/*/featurestores/*}"
- body: "featurestore"
- };
- option (google.api.method_signature) = "featurestore,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "Featurestore"
- metadata_type: "UpdateFeaturestoreOperationMetadata"
- };
- }
- // Deletes a single Featurestore. The Featurestore must not contain any
- // EntityTypes or `force` must be set to true for the request to succeed.
- rpc DeleteFeaturestore(DeleteFeaturestoreRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1beta1/{name=projects/*/locations/*/featurestores/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.api.method_signature) = "name,force";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "DeleteOperationMetadata"
- };
- }
- // Creates a new EntityType in a given Featurestore.
- rpc CreateEntityType(CreateEntityTypeRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{parent=projects/*/locations/*/featurestores/*}/entityTypes"
- body: "entity_type"
- };
- option (google.api.method_signature) = "parent,entity_type";
- option (google.api.method_signature) = "parent,entity_type,entity_type_id";
- option (google.longrunning.operation_info) = {
- response_type: "EntityType"
- metadata_type: "CreateEntityTypeOperationMetadata"
- };
- }
- // Gets details of a single EntityType.
- rpc GetEntityType(GetEntityTypeRequest) returns (EntityType) {
- option (google.api.http) = {
- get: "/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists EntityTypes in a given Featurestore.
- rpc ListEntityTypes(ListEntityTypesRequest) returns (ListEntityTypesResponse) {
- option (google.api.http) = {
- get: "/v1beta1/{parent=projects/*/locations/*/featurestores/*}/entityTypes"
- };
- option (google.api.method_signature) = "parent";
- }
- // Updates the parameters of a single EntityType.
- rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType) {
- option (google.api.http) = {
- patch: "/v1beta1/{entity_type.name=projects/*/locations/*/featurestores/*/entityTypes/*}"
- body: "entity_type"
- };
- option (google.api.method_signature) = "entity_type,update_mask";
- }
- // Deletes a single EntityType. The EntityType must not have any Features
- // or `force` must be set to true for the request to succeed.
- rpc DeleteEntityType(DeleteEntityTypeRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.api.method_signature) = "name,force";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "DeleteOperationMetadata"
- };
- }
- // Creates a new Feature in a given EntityType.
- rpc CreateFeature(CreateFeatureRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features"
- body: "feature"
- };
- option (google.api.method_signature) = "parent,feature";
- option (google.api.method_signature) = "parent,feature,feature_id";
- option (google.longrunning.operation_info) = {
- response_type: "Feature"
- metadata_type: "CreateFeatureOperationMetadata"
- };
- }
- // Creates a batch of Features in a given EntityType.
- rpc BatchCreateFeatures(BatchCreateFeaturesRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features:batchCreate"
- body: "*"
- };
- option (google.api.method_signature) = "parent,requests";
- option (google.longrunning.operation_info) = {
- response_type: "BatchCreateFeaturesResponse"
- metadata_type: "BatchCreateFeaturesOperationMetadata"
- };
- }
- // Gets details of a single Feature.
- rpc GetFeature(GetFeatureRequest) returns (Feature) {
- option (google.api.http) = {
- get: "/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists Features in a given EntityType.
- rpc ListFeatures(ListFeaturesRequest) returns (ListFeaturesResponse) {
- option (google.api.http) = {
- get: "/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features"
- };
- option (google.api.method_signature) = "parent";
- }
- // Updates the parameters of a single Feature.
- rpc UpdateFeature(UpdateFeatureRequest) returns (Feature) {
- option (google.api.http) = {
- patch: "/v1beta1/{feature.name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}"
- body: "feature"
- };
- option (google.api.method_signature) = "feature,update_mask";
- }
- // Deletes a single Feature.
- rpc DeleteFeature(DeleteFeatureRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "DeleteOperationMetadata"
- };
- }
- // Imports Feature values into the Featurestore from a source storage.
- //
- // The progress of the import is tracked by the returned operation. The
- // imported features are guaranteed to be visible to subsequent read
- // operations after the operation is marked as successfully done.
- //
- // If an import operation fails, the Feature values returned from
- // reads and exports may be inconsistent. If consistency is
- // required, the caller must retry the same import request again and wait till
- // the new operation returned is marked as successfully done.
- //
- // There are also scenarios where the caller can cause inconsistency.
- //
- // - Source data for import contains multiple distinct Feature values for
- // the same entity ID and timestamp.
- // - Source is modified during an import. This includes adding, updating, or
- // removing source data and/or metadata. Examples of updating metadata
- // include but are not limited to changing storage location, storage class,
- // or retention policy.
- // - Online serving cluster is under-provisioned.
- rpc ImportFeatureValues(ImportFeatureValuesRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:importFeatureValues"
- body: "*"
- };
- option (google.api.method_signature) = "entity_type";
- option (google.longrunning.operation_info) = {
- response_type: "ImportFeatureValuesResponse"
- metadata_type: "ImportFeatureValuesOperationMetadata"
- };
- }
- // Batch reads Feature values from a Featurestore.
- //
- // This API enables batch reading Feature values, where each read
- // instance in the batch may read Feature values of entities from one or
- // more EntityTypes. Point-in-time correctness is guaranteed for Feature
- // values of each read instance as of each instance's read timestamp.
- rpc BatchReadFeatureValues(BatchReadFeatureValuesRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{featurestore=projects/*/locations/*/featurestores/*}:batchReadFeatureValues"
- body: "*"
- };
- option (google.api.method_signature) = "featurestore";
- option (google.longrunning.operation_info) = {
- response_type: "BatchReadFeatureValuesResponse"
- metadata_type: "BatchReadFeatureValuesOperationMetadata"
- };
- }
- // Exports Feature values from all the entities of a target EntityType.
- rpc ExportFeatureValues(ExportFeatureValuesRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:exportFeatureValues"
- body: "*"
- };
- option (google.api.method_signature) = "entity_type";
- option (google.longrunning.operation_info) = {
- response_type: "ExportFeatureValuesResponse"
- metadata_type: "ExportFeatureValuesOperationMetadata"
- };
- }
- // Delete Feature values from Featurestore.
- //
- // The progress of the deletion is tracked by the returned operation. The
- // deleted feature values are guaranteed to be invisible to subsequent read
- // operations after the operation is marked as successfully done.
- //
- // If a delete feature values operation fails, the feature values
- // returned from reads and exports may be inconsistent. If consistency is
- // required, the caller must retry the same delete request again and wait till
- // the new operation returned is marked as successfully done.
- rpc DeleteFeatureValues(DeleteFeatureValuesRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:deleteFeatureValues"
- body: "*"
- };
- option (google.api.method_signature) = "entity_type";
- option (google.longrunning.operation_info) = {
- response_type: "DeleteFeatureValuesResponse"
- metadata_type: "DeleteFeatureValuesOperationMetadata"
- };
- }
- // Searches Features matching a query in a given project.
- rpc SearchFeatures(SearchFeaturesRequest) returns (SearchFeaturesResponse) {
- option (google.api.http) = {
- get: "/v1beta1/{location=projects/*/locations/*}/featurestores:searchFeatures"
- };
- option (google.api.method_signature) = "location";
- option (google.api.method_signature) = "location,query";
- }
- }
- // Request message for [FeaturestoreService.CreateFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore].
- message CreateFeaturestoreRequest {
- // Required. The resource name of the Location to create Featurestores.
- // Format:
- // `projects/{project}/locations/{location}'`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "aiplatform.googleapis.com/Featurestore"
- }
- ];
- // Required. The Featurestore to create.
- Featurestore featurestore = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The ID to use for this Featurestore, which will become the final component
- // of the Featurestore's resource name.
- //
- // This value may be up to 60 characters, and valid characters are
- // `[a-z0-9_]`. The first character cannot be a number.
- //
- // The value must be unique within the project and location.
- string featurestore_id = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // Request message for [FeaturestoreService.GetFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore].
- message GetFeaturestoreRequest {
- // Required. The name of the Featurestore resource.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/Featurestore"
- }
- ];
- }
- // Request message for [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores].
- message ListFeaturestoresRequest {
- // Required. The resource name of the Location to list Featurestores.
- // Format:
- // `projects/{project}/locations/{location}`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "aiplatform.googleapis.com/Featurestore"
- }
- ];
- // Lists the featurestores that match the filter expression. The following
- // fields are supported:
- //
- // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
- // Values must be
- // in RFC 3339 format.
- // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
- // Values must be
- // in RFC 3339 format.
- // * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`,
- // `<=`, and `>=` comparisons.
- // * `labels`: Supports key-value equality and key presence.
- //
- // Examples:
- //
- // * `create_time > "2020-01-01" OR update_time > "2020-01-01"`
- // Featurestores created or updated after 2020-01-01.
- // * `labels.env = "prod"`
- // Featurestores with label "env" set to "prod".
- string filter = 2;
- // The maximum number of Featurestores to return. The service may return fewer
- // than this value. If unspecified, at most 100 Featurestores will be
- // returned. The maximum value is 100; any value greater than 100 will be
- // coerced to 100.
- int32 page_size = 3;
- // A page token, received from a previous
- // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores] call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to
- // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores] must
- // match the call that provided the page token.
- string page_token = 4;
- // A comma-separated list of fields to order by, sorted in ascending order.
- // Use "desc" after a field name for descending.
- // Supported Fields:
- //
- // * `create_time`
- // * `update_time`
- // * `online_serving_config.fixed_node_count`
- string order_by = 5;
- // Mask specifying which fields to read.
- google.protobuf.FieldMask read_mask = 6;
- }
- // Response message for [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores].
- message ListFeaturestoresResponse {
- // The Featurestores matching the request.
- repeated Featurestore featurestores = 1;
- // A token, which can be sent as [ListFeaturestoresRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeaturestoresRequest.page_token] to
- // retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- }
- // Request message for [FeaturestoreService.UpdateFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore].
- message UpdateFeaturestoreRequest {
- // Required. The Featurestore's `name` field is used to identify the Featurestore to be
- // updated.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}`
- Featurestore featurestore = 1 [(google.api.field_behavior) = REQUIRED];
- // Field mask is used to specify the fields to be overwritten in the
- // Featurestore resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then only the non-empty fields present in the
- // request will be overwritten. Set the update_mask to `*` to override all
- // fields.
- //
- // Updatable fields:
- //
- // * `labels`
- // * `online_serving_config.fixed_node_count`
- // * `online_serving_config.scaling`
- google.protobuf.FieldMask update_mask = 2;
- }
- // Request message for [FeaturestoreService.DeleteFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore].
- message DeleteFeaturestoreRequest {
- // Required. The name of the Featurestore to be deleted.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/Featurestore"
- }
- ];
- // If set to true, any EntityTypes and Features for this Featurestore will
- // also be deleted. (Otherwise, the request will only work if the Featurestore
- // has no EntityTypes.)
- bool force = 2;
- }
- // Request message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues].
- message ImportFeatureValuesRequest {
- // Defines the Feature value(s) to import.
- message FeatureSpec {
- // Required. ID of the Feature to import values of. This Feature must exist in the
- // target EntityType, or the request will fail.
- string id = 1 [(google.api.field_behavior) = REQUIRED];
- // Source column to get the Feature values from. If not set, uses the column
- // with the same name as the Feature ID.
- string source_field = 2;
- }
- // Details about the source data, including the location of the storage and
- // the format.
- oneof source {
- AvroSource avro_source = 2;
- BigQuerySource bigquery_source = 3;
- CsvSource csv_source = 4;
- }
- // Source of Feature timestamp for all Feature values of each entity.
- // Timestamps must be millisecond-aligned.
- oneof feature_time_source {
- // Source column that holds the Feature timestamp for all Feature
- // values in each entity.
- string feature_time_field = 6;
- // Single Feature timestamp for all entities being imported. The
- // timestamp must not have higher than millisecond precision.
- google.protobuf.Timestamp feature_time = 7;
- }
- // Required. The resource name of the EntityType grouping the Features for which values
- // are being imported. Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
- string entity_type = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- // Source column that holds entity IDs. If not provided, entity IDs are
- // extracted from the column named `entity_id`.
- string entity_id_field = 5;
- // Required. Specifications defining which Feature values to import from the entity. The
- // request fails if no feature_specs are provided, and having multiple
- // feature_specs for one Feature is not allowed.
- repeated FeatureSpec feature_specs = 8 [(google.api.field_behavior) = REQUIRED];
- // If set, data will not be imported for online serving. This
- // is typically used for backfilling, where Feature generation timestamps are
- // not in the timestamp range needed for online serving.
- bool disable_online_serving = 9;
- // Specifies the number of workers that are used to write data to the
- // Featurestore. Consider the online serving capacity that you require to
- // achieve the desired import throughput without interfering with online
- // serving. The value must be positive, and less than or equal to 100.
- // If not set, defaults to using 1 worker. The low count ensures minimal
- // impact on online serving performance.
- int32 worker_count = 11;
- // If true, API doesn't start ingestion analysis pipeline.
- bool disable_ingestion_analysis = 12;
- }
- // Response message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues].
- message ImportFeatureValuesResponse {
- // Number of entities that have been imported by the operation.
- int64 imported_entity_count = 1;
- // Number of Feature values that have been imported by the operation.
- int64 imported_feature_value_count = 2;
- // The number of rows in input source that weren't imported due to either
- // * Not having any featureValues.
- // * Having a null entityId.
- // * Having a null timestamp.
- // * Not being parsable (applicable for CSV sources).
- int64 invalid_row_count = 6;
- // The number rows that weren't ingested due to having feature timestamps
- // outside the retention boundary.
- int64 timestamp_outside_retention_rows_count = 4;
- }
- // Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues].
- message BatchReadFeatureValuesRequest {
- // Describe pass-through fields in read_instance source.
- message PassThroughField {
- // Required. The name of the field in the CSV header or the name of the column in
- // BigQuery table. The naming restriction is the same as [Feature.name][google.cloud.aiplatform.v1beta1.Feature.name].
- string field_name = 1 [(google.api.field_behavior) = REQUIRED];
- }
- // Selects Features of an EntityType to read values of and specifies read
- // settings.
- message EntityTypeSpec {
- // Required. ID of the EntityType to select Features. The EntityType id is the
- // [entity_type_id][google.cloud.aiplatform.v1beta1.CreateEntityTypeRequest.entity_type_id] specified
- // during EntityType creation.
- string entity_type_id = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. Selectors choosing which Feature values to read from the EntityType.
- FeatureSelector feature_selector = 2 [(google.api.field_behavior) = REQUIRED];
- // Per-Feature settings for the batch read.
- repeated DestinationFeatureSetting settings = 3;
- }
- oneof read_option {
- // Each read instance consists of exactly one read timestamp and one or more
- // entity IDs identifying entities of the corresponding EntityTypes whose
- // Features are requested.
- //
- // Each output instance contains Feature values of requested entities
- // concatenated together as of the read time.
- //
- // An example read instance may be `foo_entity_id, bar_entity_id,
- // 2020-01-01T10:00:00.123Z`.
- //
- // An example output instance may be `foo_entity_id, bar_entity_id,
- // 2020-01-01T10:00:00.123Z, foo_entity_feature1_value,
- // bar_entity_feature2_value`.
- //
- // Timestamp in each read instance must be millisecond-aligned.
- //
- // `csv_read_instances` are read instances stored in a plain-text CSV file.
- // The header should be:
- // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp
- //
- // The columns can be in any order.
- //
- // Values in the timestamp column must use the RFC 3339 format, e.g.
- // `2012-07-30T10:43:17.123Z`.
- CsvSource csv_read_instances = 3;
- // Similar to csv_read_instances, but from BigQuery source.
- BigQuerySource bigquery_read_instances = 5;
- }
- // Required. The resource name of the Featurestore from which to query Feature values.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}`
- string featurestore = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/Featurestore"
- }
- ];
- // Required. Specifies output location and format.
- FeatureValueDestination destination = 4 [(google.api.field_behavior) = REQUIRED];
- // When not empty, the specified fields in the *_read_instances source will be
- // joined as-is in the output, in addition to those fields from the
- // Featurestore Entity.
- //
- // For BigQuery source, the type of the pass-through values will be
- // automatically inferred. For CSV source, the pass-through values will be
- // passed as opaque bytes.
- repeated PassThroughField pass_through_fields = 8;
- // Required. Specifies EntityType grouping Features to read values of and settings.
- // Each EntityType referenced in
- // [BatchReadFeatureValuesRequest.entity_type_specs] must have a column
- // specifying entity IDs in the EntityType in
- // [BatchReadFeatureValuesRequest.request][] .
- repeated EntityTypeSpec entity_type_specs = 7 [(google.api.field_behavior) = REQUIRED];
- // Optional. Excludes Feature values with feature generation timestamp before this
- // timestamp. If not set, retrieve oldest values kept in Feature Store.
- // Timestamp, if present, must not have higher than millisecond precision.
- google.protobuf.Timestamp start_time = 11 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues].
- message ExportFeatureValuesRequest {
- // Describes exporting the latest Feature values of all entities of the
- // EntityType between [start_time, snapshot_time].
- message SnapshotExport {
- // Exports Feature values as of this timestamp. If not set,
- // retrieve values as of now. Timestamp, if present, must not have higher
- // than millisecond precision.
- google.protobuf.Timestamp snapshot_time = 1;
- // Excludes Feature values with feature generation timestamp before this
- // timestamp. If not set, retrieve oldest values kept in Feature Store.
- // Timestamp, if present, must not have higher than millisecond precision.
- google.protobuf.Timestamp start_time = 2;
- }
- // Describes exporting all historical Feature values of all entities of the
- // EntityType between [start_time, end_time].
- message FullExport {
- // Excludes Feature values with feature generation timestamp before this
- // timestamp. If not set, retrieve oldest values kept in Feature Store.
- // Timestamp, if present, must not have higher than millisecond precision.
- google.protobuf.Timestamp start_time = 2;
- // Exports Feature values as of this timestamp. If not set,
- // retrieve values as of now. Timestamp, if present, must not have higher
- // than millisecond precision.
- google.protobuf.Timestamp end_time = 1;
- }
- // Required. The mode in which Feature values are exported.
- oneof mode {
- // Exports the latest Feature values of all entities of the EntityType
- // within a time range.
- SnapshotExport snapshot_export = 3;
- // Exports all historical values of all entities of the EntityType within a
- // time range
- FullExport full_export = 7;
- }
- // Required. The resource name of the EntityType from which to export Feature values.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string entity_type = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- // Required. Specifies destination location and format.
- FeatureValueDestination destination = 4 [(google.api.field_behavior) = REQUIRED];
- // Required. Selects Features to export values of.
- FeatureSelector feature_selector = 5 [(google.api.field_behavior) = REQUIRED];
- // Per-Feature export settings.
- repeated DestinationFeatureSetting settings = 6;
- }
- message DestinationFeatureSetting {
- // Required. The ID of the Feature to apply the setting to.
- string feature_id = 1 [(google.api.field_behavior) = REQUIRED];
- // Specify the field name in the export destination. If not specified,
- // Feature ID is used.
- string destination_field = 2;
- }
- // A destination location for Feature values and format.
- message FeatureValueDestination {
- oneof destination {
- // Output in BigQuery format.
- // [BigQueryDestination.output_uri][google.cloud.aiplatform.v1beta1.BigQueryDestination.output_uri] in
- // [FeatureValueDestination.bigquery_destination][google.cloud.aiplatform.v1beta1.FeatureValueDestination.bigquery_destination] must refer to a table.
- BigQueryDestination bigquery_destination = 1;
- // Output in TFRecord format.
- //
- // Below are the mapping from Feature value type
- // in Featurestore to Feature value type in TFRecord:
- //
- // Value type in Featurestore | Value type in TFRecord
- // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST
- // INT64, INT64_ARRAY | INT64_LIST
- // STRING, STRING_ARRAY, BYTES | BYTES_LIST
- // true -> byte_string("true"), false -> byte_string("false")
- // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST
- TFRecordDestination tfrecord_destination = 2;
- // Output in CSV format. Array Feature value types are not allowed in CSV
- // format.
- CsvDestination csv_destination = 3;
- }
- }
- // Response message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues].
- message ExportFeatureValuesResponse {
- }
- // Response message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues].
- message BatchReadFeatureValuesResponse {
- }
- // Request message for [FeaturestoreService.CreateEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType].
- message CreateEntityTypeRequest {
- // Required. The resource name of the Featurestore to create EntityTypes.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/Featurestore"
- }
- ];
- // The EntityType to create.
- EntityType entity_type = 2;
- // Required. The ID to use for the EntityType, which will become the final component of
- // the EntityType's resource name.
- //
- // This value may be up to 60 characters, and valid characters are
- // `[a-z0-9_]`. The first character cannot be a number.
- //
- // The value must be unique within a featurestore.
- string entity_type_id = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // Request message for [FeaturestoreService.GetEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType].
- message GetEntityTypeRequest {
- // Required. The name of the EntityType resource.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- }
- // Request message for [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes].
- message ListEntityTypesRequest {
- // Required. The resource name of the Featurestore to list EntityTypes.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- // Lists the EntityTypes that match the filter expression. The following
- // filters are supported:
- //
- // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons.
- // Values must be in RFC 3339 format.
- // * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons.
- // Values must be in RFC 3339 format.
- // * `labels`: Supports key-value equality as well as key presence.
- //
- // Examples:
- //
- // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR
- // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
- // or updated after 2020-01-31T15:30:00.000000Z.
- // * `labels.active = yes AND labels.env = prod` --> EntityTypes having both
- // (active: yes) and (env: prod) labels.
- // * `labels.env: *` --> Any EntityType which has a label with 'env' as the
- // key.
- string filter = 2;
- // The maximum number of EntityTypes to return. The service may return fewer
- // than this value. If unspecified, at most 1000 EntityTypes will be returned.
- // The maximum value is 1000; any value greater than 1000 will be coerced to
- // 1000.
- int32 page_size = 3;
- // A page token, received from a previous
- // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes] call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to
- // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes] must
- // match the call that provided the page token.
- string page_token = 4;
- // A comma-separated list of fields to order by, sorted in ascending order.
- // Use "desc" after a field name for descending.
- //
- // Supported fields:
- //
- // * `entity_type_id`
- // * `create_time`
- // * `update_time`
- string order_by = 5;
- // Mask specifying which fields to read.
- google.protobuf.FieldMask read_mask = 6;
- }
- // Response message for [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes].
- message ListEntityTypesResponse {
- // The EntityTypes matching the request.
- repeated EntityType entity_types = 1;
- // A token, which can be sent as [ListEntityTypesRequest.page_token][google.cloud.aiplatform.v1beta1.ListEntityTypesRequest.page_token] to
- // retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- }
- // Request message for [FeaturestoreService.UpdateEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType].
- message UpdateEntityTypeRequest {
- // Required. The EntityType's `name` field is used to identify the EntityType to be
- // updated.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- EntityType entity_type = 1 [(google.api.field_behavior) = REQUIRED];
- // Field mask is used to specify the fields to be overwritten in the
- // EntityType resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then only the non-empty fields present in the
- // request will be overwritten. Set the update_mask to `*` to override all
- // fields.
- //
- // Updatable fields:
- //
- // * `description`
- // * `labels`
- // * `monitoring_config.snapshot_analysis.disabled`
- // * `monitoring_config.snapshot_analysis.monitoring_interval_days`
- // * `monitoring_config.snapshot_analysis.staleness_days`
- // * `monitoring_config.import_features_analysis.state`
- // * `monitoring_config.import_features_analysis.anomaly_detection_baseline`
- // * `monitoring_config.numerical_threshold_config.value`
- // * `monitoring_config.categorical_threshold_config.value`
- google.protobuf.FieldMask update_mask = 2;
- }
- // Request message for [FeaturestoreService.DeleteEntityTypes][].
- message DeleteEntityTypeRequest {
- // Required. The name of the EntityType to be deleted.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- // If set to true, any Features for this EntityType will also be deleted.
- // (Otherwise, the request will only work if the EntityType has no Features.)
- bool force = 2;
- }
- // Request message for [FeaturestoreService.CreateFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature].
- message CreateFeatureRequest {
- // Required. The resource name of the EntityType to create a Feature.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- // Required. The Feature to create.
- Feature feature = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The ID to use for the Feature, which will become the final component of
- // the Feature's resource name.
- //
- // This value may be up to 128 characters, and valid characters are
- // `[a-z0-9_]`. The first character cannot be a number.
- //
- // The value must be unique within an EntityType.
- string feature_id = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // Request message for [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures].
- message BatchCreateFeaturesRequest {
- // Required. The resource name of the EntityType to create the batch of Features under.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- // Required. The request message specifying the Features to create. All Features must be
- // created under the same parent EntityType. The `parent` field in each child
- // request message can be omitted. If `parent` is set in a child request, then
- // the value must match the `parent` value in this request message.
- repeated CreateFeatureRequest requests = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // Response message for [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures].
- message BatchCreateFeaturesResponse {
- // The Features created.
- repeated Feature features = 1;
- }
- // Request message for [FeaturestoreService.GetFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature].
- message GetFeatureRequest {
- // Required. The name of the Feature resource.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/Feature"
- }
- ];
- }
- // Request message for [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures].
- message ListFeaturesRequest {
- // Required. The resource name of the Location to list Features.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "aiplatform.googleapis.com/Feature"
- }
- ];
- // Lists the Features that match the filter expression. The following
- // filters are supported:
- //
- // * `value_type`: Supports = and != comparisons.
- // * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
- // be in RFC 3339 format.
- // * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
- // be in RFC 3339 format.
- // * `labels`: Supports key-value equality as well as key presence.
- //
- // Examples:
- //
- // * `value_type = DOUBLE` --> Features whose type is DOUBLE.
- // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR
- // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
- // or updated after 2020-01-31T15:30:00.000000Z.
- // * `labels.active = yes AND labels.env = prod` --> Features having both
- // (active: yes) and (env: prod) labels.
- // * `labels.env: *` --> Any Feature which has a label with 'env' as the
- // key.
- string filter = 2;
- // The maximum number of Features to return. The service may return fewer
- // than this value. If unspecified, at most 1000 Features will be returned.
- // The maximum value is 1000; any value greater than 1000 will be coerced to
- // 1000.
- int32 page_size = 3;
- // A page token, received from a previous
- // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures] call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to
- // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures] must
- // match the call that provided the page token.
- string page_token = 4;
- // A comma-separated list of fields to order by, sorted in ascending order.
- // Use "desc" after a field name for descending.
- // Supported fields:
- //
- // * `feature_id`
- // * `value_type`
- // * `create_time`
- // * `update_time`
- string order_by = 5;
- // Mask specifying which fields to read.
- google.protobuf.FieldMask read_mask = 6;
- // If set, return the most recent [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1beta1.ListFeaturesRequest.latest_stats_count]
- // of stats for each Feature in response. Valid value is [0, 10]. If number of
- // stats exists < [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1beta1.ListFeaturesRequest.latest_stats_count], return all
- // existing stats.
- int32 latest_stats_count = 7;
- }
- // Response message for [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures].
- message ListFeaturesResponse {
- // The Features matching the request.
- repeated Feature features = 1;
- // A token, which can be sent as [ListFeaturesRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeaturesRequest.page_token] to
- // retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- }
- // Request message for [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures].
- message SearchFeaturesRequest {
- // Required. The resource name of the Location to search Features.
- // Format:
- // `projects/{project}/locations/{location}`
- string location = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "locations.googleapis.com/Location"
- }
- ];
- // Query string that is a conjunction of field-restricted queries and/or
- // field-restricted filters. Field-restricted queries and filters can be
- // combined using `AND` to form a conjunction.
- //
- // A field query is in the form FIELD:QUERY. This implicitly checks if QUERY
- // exists as a substring within Feature's FIELD. The QUERY
- // and the FIELD are converted to a sequence of words (i.e. tokens) for
- // comparison. This is done by:
- //
- // * Removing leading/trailing whitespace and tokenizing the search value.
- // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore
- // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated
- // as a wildcard that matches characters within a token.
- // * Ignoring case.
- // * Prepending an asterisk to the first and appending an asterisk to the
- // last token in QUERY.
- //
- // A QUERY must be either a singular token or a phrase. A phrase is one or
- // multiple words enclosed in double quotation marks ("). With phrases, the
- // order of the words is important. Words in the phrase must be matching in
- // order and consecutively.
- //
- // Supported FIELDs for field-restricted queries:
- //
- // * `feature_id`
- // * `description`
- // * `entity_type_id`
- //
- // Examples:
- //
- // * `feature_id: foo` --> Matches a Feature with ID containing the substring
- // `foo` (eg. `foo`, `foofeature`, `barfoo`).
- // * `feature_id: foo*feature` --> Matches a Feature with ID containing the
- // substring `foo*feature` (eg. `foobarfeature`).
- // * `feature_id: foo AND description: bar` --> Matches a Feature with ID
- // containing the substring `foo` and description containing the substring
- // `bar`.
- //
- //
- // Besides field queries, the following exact-match filters are
- // supported. The exact-match filters do not support wildcards. Unlike
- // field-restricted queries, exact-match filters are case-sensitive.
- //
- // * `feature_id`: Supports = comparisons.
- // * `description`: Supports = comparisons. Multi-token filters should be
- // enclosed in quotes.
- // * `entity_type_id`: Supports = comparisons.
- // * `value_type`: Supports = and != comparisons.
- // * `labels`: Supports key-value equality as well as key presence.
- // * `featurestore_id`: Supports = comparisons.
- //
- // Examples:
- // * `description = "foo bar"` --> Any Feature with description exactly equal
- // to `foo bar`
- // * `value_type = DOUBLE` --> Features whose type is DOUBLE.
- // * `labels.active = yes AND labels.env = prod` --> Features having both
- // (active: yes) and (env: prod) labels.
- // * `labels.env: *` --> Any Feature which has a label with `env` as the
- // key.
- string query = 3;
- // The maximum number of Features to return. The service may return fewer
- // than this value. If unspecified, at most 100 Features will be returned.
- // The maximum value is 100; any value greater than 100 will be coerced to
- // 100.
- int32 page_size = 4;
- // A page token, received from a previous
- // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures] call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to
- // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures], except `page_size`, must
- // match the call that provided the page token.
- string page_token = 5;
- }
- // Response message for [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures].
- message SearchFeaturesResponse {
- // The Features matching the request.
- //
- // Fields returned:
- //
- // * `name`
- // * `description`
- // * `labels`
- // * `create_time`
- // * `update_time`
- repeated Feature features = 1;
- // A token, which can be sent as [SearchFeaturesRequest.page_token][google.cloud.aiplatform.v1beta1.SearchFeaturesRequest.page_token] to
- // retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- }
- // Request message for [FeaturestoreService.UpdateFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature].
- message UpdateFeatureRequest {
- // Required. The Feature's `name` field is used to identify the Feature to be
- // updated.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
- Feature feature = 1 [(google.api.field_behavior) = REQUIRED];
- // Field mask is used to specify the fields to be overwritten in the
- // Features resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then only the non-empty fields present in the
- // request will be overwritten. Set the update_mask to `*` to override all
- // fields.
- //
- // Updatable fields:
- //
- // * `description`
- // * `labels`
- // * `disable_monitoring`
- google.protobuf.FieldMask update_mask = 2;
- }
- // Request message for [FeaturestoreService.DeleteFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature].
- message DeleteFeatureRequest {
- // Required. The name of the Features to be deleted.
- // Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/Feature"
- }
- ];
- }
- // Details of operations that perform create Featurestore.
- message CreateFeaturestoreOperationMetadata {
- // Operation metadata for Featurestore.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that perform update Featurestore.
- message UpdateFeaturestoreOperationMetadata {
- // Operation metadata for Featurestore.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that perform import Feature values.
- message ImportFeatureValuesOperationMetadata {
- // Operation metadata for Featurestore import Feature values.
- GenericOperationMetadata generic_metadata = 1;
- // Number of entities that have been imported by the operation.
- int64 imported_entity_count = 2;
- // Number of Feature values that have been imported by the operation.
- int64 imported_feature_value_count = 3;
- // The number of rows in input source that weren't imported due to either
- // * Not having any featureValues.
- // * Having a null entityId.
- // * Having a null timestamp.
- // * Not being parsable (applicable for CSV sources).
- int64 invalid_row_count = 6;
- // The number rows that weren't ingested due to having timestamps outside the
- // retention boundary.
- int64 timestamp_outside_retention_rows_count = 7;
- }
- // Details of operations that exports Features values.
- message ExportFeatureValuesOperationMetadata {
- // Operation metadata for Featurestore export Feature values.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that batch reads Feature values.
- message BatchReadFeatureValuesOperationMetadata {
- // Operation metadata for Featurestore batch read Features values.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that delete Feature values.
- message DeleteFeatureValuesOperationMetadata {
- // Operation metadata for Featurestore delete Features values.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that perform create EntityType.
- message CreateEntityTypeOperationMetadata {
- // Operation metadata for EntityType.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that perform create Feature.
- message CreateFeatureOperationMetadata {
- // Operation metadata for Feature.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Details of operations that perform batch create Features.
- message BatchCreateFeaturesOperationMetadata {
- // Operation metadata for Feature.
- GenericOperationMetadata generic_metadata = 1;
- }
- // Request message for [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
- message DeleteFeatureValuesRequest {
- // Message to select entity.
- // If an entity id is selected, all the feature values corresponding to the
- // entity id will be deleted, including the entityId.
- message SelectEntity {
- // Required. Selectors choosing feature values of which entity id to be deleted from
- // the EntityType.
- EntityIdSelector entity_id_selector = 1 [(google.api.field_behavior) = REQUIRED];
- }
- // Message to select time range and feature.
- // Values of the selected feature generated within an inclusive time range
- // will be deleted. Using this option permanently deletes the feature values
- // from the specified feature IDs within the specified time range.
- // This might include data from the online storage. If you want to retain
- // any deleted historical data in the online storage, you must re-ingest it.
- message SelectTimeRangeAndFeature {
- // Required. Select feature generated within a half-inclusive time range.
- // The time range is lower inclusive and upper exclusive.
- google.type.Interval time_range = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. Selectors choosing which feature values to be deleted from the
- // EntityType.
- FeatureSelector feature_selector = 2 [(google.api.field_behavior) = REQUIRED];
- // If set, data will not be deleted from online storage.
- // When time range is older than the data in online storage, setting this to
- // be true will make the deletion have no impact on online serving.
- bool skip_online_storage_delete = 3;
- }
- // Defines options to select feature values to be deleted.
- oneof DeleteOption {
- // Select feature values to be deleted by specifying entities.
- SelectEntity select_entity = 2;
- // Select feature values to be deleted by specifying time range and
- // features.
- SelectTimeRangeAndFeature select_time_range_and_feature = 3;
- }
- // Required. The resource name of the EntityType grouping the Features for which values
- // are being deleted from. Format:
- // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
- string entity_type = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "aiplatform.googleapis.com/EntityType"
- }
- ];
- }
- // Response message for [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
- message DeleteFeatureValuesResponse {
- }
- // Selector for entityId. Getting ids from the given source.
- message EntityIdSelector {
- // Details about the source data, including the location of the storage and
- // the format.
- oneof EntityIdsSource {
- // Source of Csv
- CsvSource csv_source = 3;
- }
- // Source column that holds entity IDs. If not provided, entity IDs are
- // extracted from the column named `entity_id`.
- string entity_id_field = 5;
- }
|