Vertex AI Feature Store vous permet de diffuser des valeurs de caractéristiques en ligne et en temps réel à partir d'une vue de caractéristiques au sein d'un magasin en ligne. Par exemple, vous pouvez diffuser des valeurs de caractéristiques à partir d'une vue de caractéristiques pour les prédictions en ligne. Une vue de caractéristiques doit être synchronisée au moins une fois pour que vous puissiez diffuser des caractéristiques en ligne à partir de cette vue de caractéristiques.
Si la vue de caractéristiques est définie en fonction de groupes de caractéristiques et de caractéristiques, Vertex AI Feature Store extrait les dernières valeurs des caractéristiques correspondant à un ID d'entité spécifique. Si la colonne "ID" contient plusieurs enregistrements avec la même valeur, Vertex AI Feature Store récupère les valeurs de caractéristiques non nulles les plus récentes, en se basant sur la colonne feature_timestamp
.
Si la vue de caractéristiques est directement associée à une source de données BigQuery sans association avec des groupes de caractéristiques et des caractéristiques, Vertex AI Feature Store récupère toutes les valeurs des caractéristiques de la source de données. Dans ce cas, chaque ligne de la source de données doit contenir un ID unique.
Selon le type de diffusion en ligne configuré pour votre magasin en ligne, vous pouvez diffuser des valeurs de caractéristiques de l'une des manières suivantes :
Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne Bigtable : ne choisissez cette option que si le magasin en ligne est configuré pour la diffusion en ligne Bigtable.
Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée à partir d'un point de terminaison public : ne choisissez cette option que si le magasin en ligne est configuré pour la diffusion en ligne optimisée à partir d'un point de terminaison public.
Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée à partir d'un point de terminaison Private Service Connect : ne choisissez cette option que si le magasin en ligne est configuré pour une diffusion en ligne optimisée à partir d'un point de terminaison de diffusion dédié via Private Service Connect.
Avant de commencer
Authentifiez-vous auprès de Vertex AI, sauf si vous l'avez déjà fait.
Select the tab for how you plan to use the samples on this page:
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne Bigtable
Vous pouvez utiliser la diffusion en ligne Bigtable pour effectuer les opérations suivantes :
Récupérer les valeurs de caractéristiques en spécifiant un seul ID d'entité
Récupérer les valeurs de caractéristiques pour un ensemble d'entités (preview)
Récupérer les valeurs de caractéristiques pour une seule entité
Utilisez l'exemple suivant pour récupérer des valeurs de caractéristiques sur la base d'un ID d'entité spécifique avec la diffusion en ligne Bigtable.
REST
Pour récupérer toutes les dernières valeurs de caractéristiques pour un ID d'entité spécifique à partir d'une instance FeatureView
, envoyez une requête POST
en utilisant la méthode featureViews.fetchFeatureValues.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
. - PROJECT_ID : ID de votre projet
- FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
- FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
- ENTITY_ID : valeur de la colonne "ID" dans l'enregistrement de caractéristiques à partir duquel vous souhaitez diffuser les dernières valeurs de caractéristiques.
- FORMAT (facultatif) : format dans lequel vous souhaitez récupérer les valeurs des caractéristiques.
Les formats suivants sont acceptés :
KEY_VALUE
PROTO_STRUCT
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
Corps JSON de la requête :
{ data_key: { key: "ENTITY_ID" }, data_format: "FORMAT" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
key_values { features { value { int64_value: 258348 } name: "feature_0" } features { value { double_value: 0.96300036744534068 } name: "feature_1" } features { value { double_value: 0.42787383695351083 } name: "feature_2" } features { value { double_value: 0.12219888824743128 } name: "feature_3" } features { value { double_value: 0.037523154697944622 } name: "feature_4" } features { value { double_value: 0.1766952509448767 } name: "feature_5" } }
Python
Utilisez l'exemple suivant pour extraire des valeurs de caractéristiques sur la base d'un ID d'entité spécifique avec la mise en service en ligne Bigtable.
from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.types import feature_online_store_service as feature_online_store_service_pb2
data_client = FeatureOnlineStoreServiceClient(
client_options={"api_endpoint": f"LOCATION_ID-aiplatform.googleapis.com"}
)
data_client.fetch_feature_values(
request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
data_key=feature_online_store_service_pb2.FeatureViewDataKey(key="ENTITY_ID"),
data_format=feature_online_store_service_pb2.FeatureViewDataFormat.FORMAT,
)
)
Remplacez les éléments suivants :
LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
.PROJECT_ID : ID de votre projet
FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
ENTITY_ID : valeur de la colonne "ID" dans l'enregistrement de caractéristiques à partir duquel vous souhaitez diffuser les dernières valeurs de caractéristiques.
FORMAT (facultatif) : format dans lequel vous souhaitez récupérer les valeurs des caractéristiques. Les formats acceptés incluent les paires
KEY_VALUE
JSON et les formats protoPROTO_STRUCT
.
Extraire les valeurs de caractéristiques pour un ensemble d'entités
Utilisez l'exemple suivant pour récupérer des valeurs de caractéristiques en spécifiant un ensemble d'ID à partir de plusieurs colonnes d'ID d'entité à l'aide de la diffusion en ligne Bigtable.
REST
Pour récupérer toutes les dernières valeurs de caractéristiques pour un ID d'entité spécifique à partir d'une instance FeatureView
, envoyez une requête POST
en utilisant la méthode featureViews.streamingFetchFeatureValues.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
. - PROJECT_ID : ID de votre projet
- FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
- FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
- ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 et ENTITY_ID_4 : ensemble de valeurs des colonnes d'ID dans les enregistrements de caractéristiques à partir desquels vous souhaitez diffuser les dernières valeurs de caractéristiques. Notez que le regroupement des ID d'entité en plusieurs listes imbriquées dans une requête peut contribuer à réduire la latence, car Vertex AI Feature Store effectue une opération de lecture distincte pour chaque liste imbriquée d'ID.
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues
Corps JSON de la requête :
[ { data_keys: [{key: "ENTITY_ID_1"}, {key: "ENTITY_ID_2"}], feature_view: "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME" }, { data_keys: [{key: "ENTITY_ID_3"}, {key: "ENTITY_ID_4"}], feature_view: "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME" } ]
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
[data { key_values { features { name: "movies" value { string_value: "movie_04" } } features { name: "feature_timestamp" value { int64_value: 1631694494000000 } } } data_key { key: "eve" } } , data { key_values { features { name: "movies" value { string_value: "movie_03" } } features { name: "feature_timestamp" value { int64_value: 1631612115000000 } } } data_key { key: "alice" } } data { key_values { features { name: "movies" value { string_value: "movie_02" } } features { name: "feature_timestamp" value { int64_value: 1631694494000000 } } } data_key { key: "bob" } } ]
Python
Utilisez l'exemple suivant pour récupérer des valeurs de caractéristiques à partir de plusieurs colonnes d'ID d'entité avec la diffusion en ligne Bigtable.
from google.cloud.aiplatform_v1beta1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1beta1.types import feature_online_store_service as feature_online_store_service_pb2
data_client = FeatureOnlineStoreServiceClient(
client_options={"api_endpoint": f"LOCATION_ID-aiplatform.googleapis.com"}
)
feature_view = "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
keys_list=[
["ENTITY_ID_1","ENTITY_ID_2"],
["ENTITY_ID_3","ENTITY_ID_4"]
]
requests = []
for keys in keys_list:
requests.append(
feature_online_store_service_pb2.StreamingFetchFeatureValuesRequest(
feature_view=feature_view,
data_keys=[
feature_online_store_service_pb2.FeatureViewDataKey(key=key)
for key in keys
]
)
)
responses = data_client.streaming_fetch_feature_values(
requests=iter(requests)
)
responses = [response for response in responses]
Remplacez les éléments suivants :
LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
.PROJECT_ID : ID de votre projet
FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 et ENTITY_ID_4 : ID d'entité à partir desquels vous souhaitez diffuser les dernières valeurs de caractéristiques. Notez que le regroupement des ID d'entité en plusieurs listes imbriquées dans une requête peut contribuer à réduire la latence, car Vertex AI Feature Store effectue une opération de lecture distincte pour chaque liste imbriquée d'ID.
Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée à partir d'un point de terminaison public
Si vous avez configuré votre instance de magasin en ligne pour diffuser des valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée à partir d'un point de terminaison public, vous devez effectuer les étapes suivantes pour extraire les valeurs de caractéristiques à partir d'une vue de caractéristiques au sein du magasin en ligne :
Récupérer le nom de domaine du point de terminaison public pour la boutique en ligne
Lorsque vous créez et configurez une instance de magasin en ligne pour une diffusion en ligne optimisée à partir d'un point de terminaison public, Vertex AI Feature Store génère le nom de domaine du point de terminaison public pour le magasin en ligne. Avant de pouvoir diffuser des valeurs de caractéristiques à partir d'une vue de caractéristiques du magasin en ligne, vous devez récupérer le nom de domaine du point de terminaison public à partir des détails du magasin en ligne.
Basez-vous sur l'exemple suivant pour récupérer les détails d'une instance de magasin en ligne.
REST
Pour récupérer les détails d'une ressource FeatureOnlineStore
au sein de votre projet, envoyez une requête GET
à l'aide de la méthode featureOnlineStores.get
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
. - PROJECT_ID : ID de votre projet
- FEATUREONLINESTORE_NAME : nom de l'instance de magasin en ligne.
Méthode HTTP et URL :
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1", "createTime": "2023-09-06T23:25:04.256314Z", "updateTime": "2023-09-06T23:25:04.256314Z", "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=", "state": "STABLE", "dedicatedServingEndpoint": { "publicEndpointDomainName": "PUBLIC_ENDPOINT_DOMAIN_NAME" }, "optimized": {} }
Vous aurez besoin de la valeur PUBLIC_ENDPOINT_DOMAIN_NAME, fournie dans la réponse, pour extraire les valeurs de caractéristiques à l'étape suivante.
Extraire les valeurs de caractéristiques à partir d'un ID d'entité
Après avoir récupéré le nom de domaine du point de terminaison public pour l'instance de magasin en ligne, utilisez l'exemple suivant pour récupérer les valeurs de caractéristiques pour un ID d'entité spécifique à l'aide de la diffusion en ligne optimisée.
REST
Pour extraire toutes les dernières valeurs de caractéristiques pour un ID d'entité spécifique à partir d'une instance FeatureView
, envoyez une requête POST
en utilisant la méthode featureViews.fetchFeatureValues
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PUBLIC_ENDPOINT_DOMAIN_NAME : nom de domaine du point de terminaison public pour l'instance de magasin en ligne, que vous avez récupéré à l'aide de la méthode
featureOnlineStores.get
. - LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
. - PROJECT_ID : ID de votre projet
- FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
- FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
- ENTITY_ID : valeur de la colonne "ID" dans l'enregistrement de caractéristiques à partir duquel vous souhaitez diffuser les dernières valeurs de caractéristiques.
- FORMAT : (facultatif) format utilisé pour récupérer les valeurs des caractéristiques.
Les formats suivants sont acceptés :
KEY_VALUE
PROTO_STRUCT
Méthode HTTP et URL :
POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
Corps JSON de la requête :
{ data_key: { key: "ENTITY_ID" }, data_format: "FORMAT" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
key_values { features { value { int64_value: 258348 } name: "feature_0" } features { value { double_value: 0.96300036744534068 } name: "feature_1" } features { value { double_value: 0.42787383695351083 } name: "feature_2" } features { value { double_value: 0.12219888824743128 } name: "feature_3" } features { value { double_value: 0.037523154697944622 } name: "feature_4" } features { value { double_value: 0.1766952509448767 } name: "feature_5" } }
Python
Utilisez l'exemple suivant pour récupérer des valeurs de caractéristiques sur la base d'un ID d'entité spécifique avec la diffusion en ligne optimisée.
from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.types import feature_online_store_service as feature_online_store_service_pb2
data_client = FeatureOnlineStoreServiceClient(
client_options={"api_endpoint": f"PUBLIC_ENDPOINT_DOMAIN_NAME"}
)
data_client.fetch_feature_values(
request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
id=f"ENTITY_ID",
format=feature_online_store_service_pb2.FetchFeatureValuesRequest.Format.FORMAT,
)
)
Remplacez les éléments suivants :
PUBLIC_ENDPOINT_DOMAIN_NAME : nom de domaine du point de terminaison public pour l'instance de magasin en ligne, que vous avez récupéré à l'aide de la méthode
featureOnlineStores.get
.LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
.PROJECT_ID : ID de votre projet
FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
ENTITY_ID : valeur de la colonne "ID" dans l'enregistrement de caractéristiques à partir duquel vous souhaitez diffuser les dernières valeurs de caractéristiques.
FORMAT (facultatif) : format dans lequel vous souhaitez récupérer les valeurs des caractéristiques. Les formats acceptés incluent les paires
KEY_VALUE
JSON et les formats protoPROTO_STRUCT
.
Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée à partir d'un point de terminaison Private Service Connect
Si vous avez configuré votre instance de magasin en ligne pour diffuser des valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée à partir d'un point de terminaison Private Service Connect, vous devez effectuer les étapes suivantes pour extraire les valeurs de caractéristiques à partir d'une vue de caractéristiques au sein du magasin en ligne :
Récupérez la configuration Private Service Connect pour l'instance
FeatureOnlineStore
.Ajoutez un point de terminaison pour Private Service Connect à votre configuration réseau.
Connectez-vous au point de terminaison Private Service Connect via gRPC.
Extrayez les valeurs de caractéristiques à partir d'un ID d'entité.
Récupérer la chaîne de rattachement de service pour le magasin en ligne
Lorsque vous créez et configurez une instance de magasin en ligne pour une diffusion en ligne optimisée à partir d'un point de terminaison Private Service Connect, Vertex AI Feature Store génère une chaîne de rattachement de service que vous pouvez utiliser pour configurer le point de terminaison Private Service Connect. Vous pouvez récupérer la chaîne de rattachement de service à partir des détails du magasin en ligne.
Basez-vous sur l'exemple suivant pour récupérer les détails d'une instance de magasin en ligne.
REST
Pour récupérer les détails d'une ressource FeatureOnlineStore
au sein de votre projet, envoyez une requête GET
à l'aide de la méthode featureOnlineStores.get
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
. - PROJECT_ID : ID de votre projet
- FEATUREONLINESTORE_NAME : nom de l'instance de magasin en ligne.
Méthode HTTP et URL :
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1", "createTime": "2023-09-06T23:25:04.256314Z", "updateTime": "2023-09-06T23:25:04.256314Z", "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=", "state": "STABLE", "dedicatedServingEndpoint": { "privateServiceConnectConfig": { "enablePrivateServiceConnect": "true", "projectAllowlist": [ "PROJECT_NAME" ] }, serviceAttachment: "SERVICE_ATTACHMENT_STRING" }, "optimized": {} }
Vous aurez besoin de la valeur SERVICE_ATTACHMENT_STRING, fournie dans la réponse, pour extraire les valeurs de caractéristiques à l'étape suivante.
Ajouter un point de terminaison pour Private Service Connect
Procédez comme suit pour ajouter à votre configuration réseau un point de terminaison Private Service Connect pour la diffusion en ligne optimisée :
Dans la console Google Cloud, sélectionnez le projet contenant l'instance de magasin en ligne.
Créez un point de terminaison pour Private Service Connect en spécifiant SERVICE_ATTACHMENT_STRING comme étant le service cible. Pour en savoir plus sur la création d'un point de terminaison pour Private Service Connect, consultez la page Créer un point de terminaison.
Une fois le point de terminaison créé, il apparaît dans l'onglet Points de terminaison connectés sur la page Private Service Connect. L'adresse IP du point de terminaison apparaît dans la colonne Adresses IP.
Accéder à l'onglet "Points de terminaison connectés"
Vous devrez utiliser cette adresse IP pour vous connecter au point de terminaison Private Service Connect créé pour votre instance de magasin en ligne via gRPC à l'étape suivante.
Se connecter au point de terminaison Private Service Connect via gRPC
Utilisez l'exemple de code suivant pour vous connecter au point de terminaison Private Service Connect créé pour votre magasin en ligne via gRPC.
Python
from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.services.feature_online_store_service.transports.grpc import FeatureOnlineStoreServiceGrpcTransport
import grpc
data_client = FeatureOnlineStoreServiceClient(
transport = FeatureOnlineStoreServiceGrpcTransport(
# Add the IP address of the Endpoint you just created.
channel = grpc.insecure_channel("ENDPOINT_IP:10002")
)
)
Remplacez les éléments suivants :
- ENDPOINT_IP : adresse IP du point de terminaison dans la colonne Adresses IP de la page Private Service Connect.
Extraire les valeurs de caractéristiques à partir d'un ID d'entité
Une fois que vous êtes connecté au point de terminaison Private Service Connect via gRPC, utilisez l'exemple suivant pour extraire des valeurs de caractéristiques pour un ID d'entité spécifique à l'aide de la diffusion en ligne optimisée.
Python
data_client.fetch_feature_values(
request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
data_key=feature_online_store_service_pb2.FeatureViewDataKey(ENTITY_ID),
data_format=feature_online_store_service_pb2.FeatureViewDataFormat.PROTO_STRUCT,
)
)
Remplacez les éléments suivants :
LOCATION_ID : région où se trouve la boutique en ligne, par exemple
us-central1
.PROJECT_ID : ID de votre projet
FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de la caractéristiques.
FEATUREVIEW_NAME : nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.
ENTITY_ID : valeur de la colonne "ID" dans l'enregistrement de caractéristiques à partir duquel vous souhaitez diffuser les dernières valeurs de caractéristiques.
FORMAT (facultatif) : format dans lequel vous souhaitez récupérer les valeurs des caractéristiques. Les formats acceptés incluent les paires clé-valeur JSON et les formats proto
Struct
. Notez que le format protoStruct
n'est pas compatible avec le type de valeur de fonctionnalité "bytes". Si vous souhaitez récupérer des valeurs de caractéristiques au format octets, utilisez le format de réponse JSON.
Étapes suivantes
Découvrez comment synchroniser les données pour une vue de caractéristiques.
Découvrez comment mettre à jour une boutique en ligne.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).