/
feature_online_store.proto
143 lines (120 loc) · 6.14 KB
/
feature_online_store.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// Copyright 2023 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.v1;
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/timestamp.proto";
option csharp_namespace = "Google.Cloud.AIPlatform.V1";
option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
option java_multiple_files = true;
option java_outer_classname = "FeatureOnlineStoreProto";
option java_package = "com.google.cloud.aiplatform.v1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
option ruby_package = "Google::Cloud::AIPlatform::V1";
// Vertex AI Feature Online Store provides a centralized repository for serving
// ML features and embedding indexes at low latency. The Feature Online Store is
// a top-level container.
message FeatureOnlineStore {
option (google.api.resource) = {
type: "aiplatform.googleapis.com/FeatureOnlineStore"
pattern: "projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}"
};
message Bigtable {
message AutoScaling {
// Required. The minimum number of nodes to scale down to. Must be greater
// than or equal to 1.
int32 min_node_count = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The maximum number of nodes to scale up to. Must be greater
// than or equal to min_node_count, and less than or equal to 10 times of
// 'min_node_count'.
int32 max_node_count = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. A percentage of the cluster's CPU capacity. Can be from 10%
// to 80%. When a cluster's CPU utilization exceeds the target that you
// have set, Bigtable immediately adds nodes to the cluster. When CPU
// utilization is substantially lower than the target, Bigtable removes
// nodes. If not set will default to 50%.
int32 cpu_utilization_target = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Required. Autoscaling config applied to Bigtable Instance.
AutoScaling auto_scaling = 1 [(google.api.field_behavior) = REQUIRED];
}
// Optimized storage type
message Optimized {}
// The dedicated serving endpoint for this FeatureOnlineStore. Only need to
// set when you choose Optimized storage type. Public endpoint is provisioned
// by default.
message DedicatedServingEndpoint {
// Output only. This field will be populated with the domain name to use for
// this FeatureOnlineStore
string public_endpoint_domain_name = 2
[(google.api.field_behavior) = OUTPUT_ONLY];
}
// Possible states a featureOnlineStore can have.
enum State {
// Default value. This value is unused.
STATE_UNSPECIFIED = 0;
// State when the featureOnlineStore configuration is not being updated and
// the fields reflect the current configuration of the featureOnlineStore.
// The featureOnlineStore is usable in this state.
STABLE = 1;
// The state of the featureOnlineStore configuration when it is being
// updated. During an update, the fields reflect either the original
// configuration or the updated configuration of the featureOnlineStore. The
// featureOnlineStore is still usable in this state.
UPDATING = 2;
}
oneof storage_type {
// Contains settings for the Cloud Bigtable instance that will be created
// to serve featureValues for all FeatureViews under this
// FeatureOnlineStore.
Bigtable bigtable = 8;
// Contains settings for the Optimized store that will be created
// to serve featureValues for all FeatureViews under this
// FeatureOnlineStore. When choose Optimized storage type, need to set
// [PrivateServiceConnectConfig.enable_private_service_connect][google.cloud.aiplatform.v1.PrivateServiceConnectConfig.enable_private_service_connect]
// to use private endpoint. Otherwise will use public endpoint by default.
Optimized optimized = 12;
}
// Identifier. Name of the FeatureOnlineStore. Format:
// `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
// Output only. Timestamp when this FeatureOnlineStore was created.
google.protobuf.Timestamp create_time = 3
[(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Timestamp when this FeatureOnlineStore was last updated.
google.protobuf.Timestamp update_time = 4
[(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. Used to perform consistent read-modify-write updates. If not set,
// a blind "overwrite" update happens.
string etag = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. The labels with user-defined metadata to organize your
// FeatureOnlineStore.
//
// Label keys and values can be no longer than 64 characters
// (Unicode codepoints), can only contain lowercase letters, numeric
// characters, underscores and dashes. International characters are allowed.
//
// See https://goo.gl/xmQnxf for more information on and examples of labels.
// No more than 64 user labels can be associated with one
// FeatureOnlineStore(System labels are excluded)." System reserved label keys
// are prefixed with "aiplatform.googleapis.com/" and are immutable.
map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
// Output only. State of the featureOnlineStore.
State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. The dedicated serving endpoint for this FeatureOnlineStore, which
// is different from common Vertex service endpoint.
DedicatedServingEndpoint dedicated_serving_endpoint = 10
[(google.api.field_behavior) = OPTIONAL];
}