/
batch_create_features_sample.py
74 lines (65 loc) · 2.97 KB
/
batch_create_features_sample.py
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
# Copyright 2021 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
#
# https://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.
# Create features in bulk for an existing type.
# See https://cloud.google.com/vertex-ai/docs/featurestore/setup before running
# the code snippet
# [START aiplatform_batch_create_features_sample]
from google.cloud import aiplatform_v1beta1 as aiplatform
def batch_create_features_sample(
project: str,
featurestore_id: str,
entity_type_id: str,
location: str = "us-central1",
api_endpoint: str = "us-central1-aiplatform.googleapis.com",
timeout: int = 300,
):
# The AI Platform services require regional API endpoints, which need to be
# in the same region or multi-region overlap with the Feature Store location.
client_options = {"api_endpoint": api_endpoint}
# Initialize client that will be used to create and send requests.
# This client only needs to be created once, and can be reused for multiple requests.
client = aiplatform.FeaturestoreServiceClient(client_options=client_options)
parent = f"projects/{project}/locations/{location}/featurestores/{featurestore_id}/entityTypes/{entity_type_id}"
age_feature = aiplatform.Feature(
value_type=aiplatform.Feature.ValueType.INT64, description="User age",
)
age_feature_request = aiplatform.CreateFeatureRequest(
feature=age_feature, feature_id="age"
)
gender_feature = aiplatform.Feature(
value_type=aiplatform.Feature.ValueType.STRING, description="User gender"
)
gender_feature_request = aiplatform.CreateFeatureRequest(
feature=gender_feature, feature_id="gender"
)
liked_genres_feature = aiplatform.Feature(
value_type=aiplatform.Feature.ValueType.STRING_ARRAY,
description="An array of genres that this user liked",
)
liked_genres_feature_request = aiplatform.CreateFeatureRequest(
feature=liked_genres_feature, feature_id="liked_genres"
)
requests = [
age_feature_request,
gender_feature_request,
liked_genres_feature_request,
]
batch_create_features_request = aiplatform.BatchCreateFeaturesRequest(
parent=parent, requests=requests
)
lro_response = client.batch_create_features(request=batch_create_features_request)
print("Long running operation:", lro_response.operation.name)
batch_create_features_response = lro_response.result(timeout=timeout)
print("batch_create_features_response:", batch_create_features_response)
# [END aiplatform_batch_create_features_sample]