Mit Vertex AI Feature Store können Sie Featurewerte in Echtzeit aus einer Featureansicht in einem Onlinespeicher online bereitstellen. Sie können beispielsweise Featurewerte aus einer Featureansicht für Onlinevorhersagen bereitstellen. Eine Featureansicht muss mindestens einmal synchronisiert werden, bevor Sie Features über dieses Feature online bereitstellen können.
Wenn die Featureansicht basierend auf Featuregruppen und Features definiert ist, ruft Vertex AI Feature Store die neuesten Featurewerte ab, die einer bestimmten Entitäts-ID entsprechen. Wenn die Spalte „ID“ mehrere Datensätze mit demselben Wert enthält, ruft Vertex AI Feature Store die neuesten Nicht-Null-Featurewerte basierend auf der Spalte feature_timestamp
ab.
Wenn die Featureansicht direkt mit einer BigQuery-Datenquelle verknüpft ist, ohne Featuregruppen und Features zu verknüpfen, ruft Vertex AI Feature Store alle Featurewerte aus der Datenquelle ab. In diesem Fall muss jede Zeile in der Datenquelle eine eindeutige ID enthalten.
Abhängig von der für Ihren Onlinespeicher konfigurierten Art der Onlinebereitstellung können Featurewerte auf eine der folgenden Arten bereitgestellt werden:
Featurewerte mit Cloud Bigtable-Onlinebereitstellung abrufen: Wählen Sie diese Option nur aus, wenn der Onlinespeicher für die Cloud Bigtable-Onlinebereitstellung konfiguriert ist.
Featurewerte mit der optimierten Onlinebereitstellung mit einem öffentlichen Endpunkt abrufen: Wählen Sie diese Option nur aus, wenn der Onlinespeicher für die optimierte Onlinebereitstellung von einem öffentlichen Endpunkt konfiguriert ist.
Featurewerte mit der optimierten Onlinebereitstellung mit einem Private Service Connect-Endpunkt abrufen: Wählen Sie diese Option nur aus, wenn der Onlinespeicher für die optimierte Onlinebereitstellung von einem dedizierten Bereitstellungsendpunkt über Private Service Connect konfiguriert ist.
Hinweise
Authentifizieren Sie sich bei Vertex AI, sofern nicht bereits geschehen.
Select the tab for how you plan to use the samples on this page:
Python
Wenn Sie die Python -Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Weitere Informationen finden Sie unter Set up authentication for a local development environment.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Featurewerte mit der Cloud Bigtable-Onlinebereitstellung abrufen
Mit der Onlinebereitstellung von Bigtable können Sie Folgendes tun:
Feature-Werte durch Angabe einer einzelnen Entitäts-ID abrufen
Featurewerte für eine Gruppe von Entitäten abrufen (Vorschau)
Featurewerte für eine einzelne Entität abrufen
Wenn Ihre Featureansicht nur eine Spalte für die Entitäts-ID hat, können Sie Features bereitstellen, indem Sie den in dieser Spalte enthaltenen Wert angeben. Wenn die Featureansicht jedoch mehrere Spalten mit Entitäts-IDs enthält, können Sie einen Feature-Datensatz finden, indem Sie die Werte in diesen Spalten angeben, die die für den Feature-Datensatz eindeutige Entitäts-ID bilden.
Featurewerte aus einer Feature-Ansicht mit nur einer Entitäts-ID-Spalte abrufen
In den folgenden Beispielen werden Featurewerte für eine bestimmte Entitäts-ID abgerufen, wobei die Featureansicht nur eine Spalte für die Entitäts-ID hat.
REST
Wenn Sie die neuesten Featurewerte für eine bestimmte Entitäts-ID von einer FeatureView
-Instanz abrufen möchten, senden Sie eine POST
-Anfrage mit featureViews.fetchFeatureValues-Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
. - PROJECT_ID ist die Projekt-ID.
- FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
- FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
- ENTITY_ID: Wert der ID-Spalte im Feature-Eintrag, aus dem Sie die neuesten Featurewerte bereitstellen möchten.
- FORMAT: Optional: Das Format, in dem Sie die Featurewerte abrufen möchten.
Die folgenden Formate werden unterstützt:
KEY_VALUE
PROTO_STRUCT
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
JSON-Text der Anfrage:
{ data_key: { key: "ENTITY_ID" }, data_format: "FORMAT" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
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
Im folgenden Beispiel werden Featurewerte anhand einer bestimmten Entitäts-ID mithilfe der Cloud Bigtable-Onlinebereitstellung abgerufen.
from google.cloud import aiplatform
from vertexai.resources.preview.feature_store import FeatureOnlineStore, FeatureView
aiplatform.init(project="PROJECT_ID", location="LOCATION_ID")
fos = FeatureOnlineStore("FEATUREONLINESTORE_NAME")
fv = FeatureView("FEATUREVIEW_NAME", feature_online_store_id=fos.name)
fv.read("ENTITY_ID")
Ersetzen Sie Folgendes:
LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
.PROJECT_ID ist die Projekt-ID.
FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
ENTITY_ID: Der Wert der ID-Spalte, für die Sie die neuesten Featurewerte bereitstellen möchten.
FORMAT: Optional: Das Format, in dem Sie die Featurewerte abrufen möchten. Zu den unterstützten Formaten gehören das JSON-
KEY_VALUE
-Paar und die Proto-PROTO_STRUCT
-Formate.
Featurewerte aus einer Featureansicht mit mehreren Spalten für Entitäts-IDs abrufen
Verwenden Sie die folgenden Beispiele, um Featurewerte für eine bestimmte Entitäts-ID abzurufen, wenn die Featureansicht mehrere Spalten für die Entitäts-ID hat.
REST
Wenn Sie die neuesten Featurewerte für eine bestimmte Entitäts-ID von einer FeatureView
-Instanz abrufen möchten, senden Sie eine POST
-Anfrage mit featureViews.fetchFeatureValues-Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
. - PROJECT_ID ist die Projekt-ID.
- FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
- FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
- ENTITY_ID_PART_1, ENTITY_ID_PART_2 und ENTITY_ID_PART_3: Die Teile der Entitäts-ID in den für die Feature-Ansicht konfigurierten Spalten für die Entitäts-ID. Diese Teile bilden die eindeutige Entitäts-ID für den Feature-Datensatz.
- FORMAT: Optional: Das Format, in dem Sie die Featurewerte abrufen möchten.
Die folgenden Formate werden unterstützt:
KEY_VALUE
PROTO_STRUCT
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
JSON-Text der Anfrage:
{ data_key: { composite_key: { parts: ["ENTITY_ID_PART_1", "ENTITY_ID_PART_2", "ENTITY_ID_PART_3"] } }, data_format: "FORMAT" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
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
Im folgenden Beispiel werden Featurewerte anhand einer bestimmten Entitäts-ID mithilfe der Cloud Bigtable-Onlinebereitstellung abgerufen.
from google.cloud import aiplatform
from vertexai.resources.preview.feature_store import FeatureOnlineStore, FeatureView
aiplatform.init(project="PROJECT_ID", location="LOCATION_ID")
fos = FeatureOnlineStore("FEATUREONLINESTORE_NAME")
fv = FeatureView("FEATUREVIEW_NAME", feature_online_store_id=fos.name)
fv.read(["ENTITY_ID_PART_1", "ENTITY_ID_PART_2", "ENTITY_ID_PART_3"])
Ersetzen Sie Folgendes:
LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
.PROJECT_ID ist die Projekt-ID.
FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
ENTITY_ID_PART_1, ENTITY_ID_PART_2 und ENTITY_ID_PART_3: Die Teile der Entitäts-ID in den für die Feature-Ansicht konfigurierten Spalten für die Entitäts-ID. Diese Teile bilden die eindeutige Entitäts-ID für den Feature-Datensatz.
FORMAT: Optional: Das Format, in dem Sie die Featurewerte abrufen möchten. Zu den unterstützten Formaten gehören das JSON-
KEY_VALUE
-Paar und die Proto-PROTO_STRUCT
-Formate.
Featurewerte für eine Gruppe von Entitäten abrufen
Im folgenden Beispiel werden Featurewerte abgerufen, indem eine Reihe von IDs aus mehreren Spalten mit Entitäts-IDs mithilfe der Cloud Bigtable-Onlinebereitstellung angegeben wird.
REST
Wenn Sie die neuesten Featurewerte für eine bestimmte Entitäts-ID von einer FeatureView
-Instanz abrufen möchten, senden Sie eine POST
-Anfrage mit featureViews.streamingFetchFeatureValues-Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
. - PROJECT_ID ist die Projekt-ID.
- FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
- FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
- ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 und ENTITY_ID_4: Die Gruppe von Werten aus den ID-Spalten in den Feature-Einträgen, aus denen Sie die neuesten Featurewerte bereitstellen möchten. Wenn Sie die Entitäts-IDs als mehrere verschachtelte Listen in einer Anfrage gruppieren, kann dies die Latenz verringern, da Vertex AI Feature Store für jede verschachtelte Liste von IDs einen separaten Lesevorgang ausführt.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues
JSON-Text der Anfrage:
[ { 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" } ]
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
[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
Im folgenden Beispiel werden Featurewerte aus mehreren Spalten mit Entitäts-IDs mithilfe der Cloud Bigtable-Onlinebereitstellung abgerufen.
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]
Ersetzen Sie Folgendes:
LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
.PROJECT_ID ist die Projekt-ID.
FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 und ENTITY_ID_4: Die Entitäts-IDs, aus denen Sie die neuesten Featurewerte bereitstellen möchten. Wenn Sie die Entitäts-IDs als mehrere verschachtelte Listen in einer Anfrage gruppieren, kann dies die Latenz verringern, da Vertex AI Feature Store für jede verschachtelte Liste von IDs einen separaten Lesevorgang ausführt.
Rufen Sie Featurewerte mit der optimierten Onlinebereitstellung von einem öffentlichen Endpunkt ab.
Wenn Sie Ihre Online-Speicher-Instanz so konfiguriert haben, dass Featurewerte über die optimierte Online-Bereitstellung von einem öffentlichen Endpunkt bereitgestellt werden, müssen Sie die folgenden Schritte ausführen, um Featurewerte aus einer Feature-Ansicht im Online-Speicher abzurufen:
Domainnamen des öffentlichen Endpunkts für die
FeatureOnlineStore
-Instanz abrufenFeaturewerte aus einer Entitäts-ID mit dem Domainnamen des öffentlichen Endpunkts abrufen.
Domainnamen des öffentlichen Endpunkts für den Onlinespeicher abrufen
Wenn Sie eine Onlinespeicher-Instanz für die optimierte Onlinebereitstellung mit einem öffentlichen Endpunkt erstellen und konfigurieren, generiert Vertex AI Feature Store den Domainnamen des öffentlichen Endpunkts für den Onlinespeicher. Bevor Sie mit der Bereitstellung von Featurewerten aus einer Featureansicht im Onlinespeicher beginnen, müssen Sie den Domainnamen des öffentlichen Endpunkts aus den Details des Onlinespeichers abrufen.
Verwenden Sie das folgende Beispiel, um die Details einer Onlinespeicherinstanz abzurufen.
REST
Sie rufen die Details eines FeatureOnlineStore
Ressource in Ihrem Projekt ab, indem Sie senden eine GET
Anfrage mithilfe des featureOnlineStores.get
-Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- FEATUREONLINESTORE_NAME: Der Name der Onlinespeicherinstanz.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "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": {} }
Sie benötigen die PUBLIC_ENDPOINT_DOMAIN_NAME aus der Antwort, um im folgenden Schritt Featurewerte abzurufen.
Featurewerte aus einer Entitäts-ID abrufen
Nachdem Sie den Domainnamen des öffentlichen Endpunkts für die Onlinespeicherinstanz abgerufen haben, verwenden Sie das folgende Beispiel, um Featurewerte für eine bestimmte Entitäts-ID mit optimierter Onlinebereitstellung abzurufen.
REST
Wenn Sie die neuesten Featurewerte für eine bestimmte Entitäts-ID von einer FeatureView
-Instanz abrufen möchten, senden Sie eine POST
-Anfrage mit der featureViews.fetchFeatureValues
-Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PUBLIC_ENDPOINT_DOMAIN_NAME: Der Domainname des öffentlichen Endpunkts für die Onlinespeicherinstanz, die Sie mit der Methode
featureOnlineStores.get
abgerufen haben. - LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
. - PROJECT_ID ist die Projekt-ID.
- FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
- FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
- ENTITY_ID: Wert der ID-Spalte im Feature-Eintrag, aus dem Sie die neuesten Featurewerte bereitstellen möchten.
- FORMAT: Optional: Das Format, das zum Abrufen der Featurewerte verwendet wird.
Die folgenden Formate werden unterstützt:
KEY_VALUE
PROTO_STRUCT
HTTP-Methode und URL:
POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
JSON-Text der Anfrage:
{ data_key: { key: "ENTITY_ID" }, data_format: "FORMAT" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
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
Im folgenden Beispiel werden Featurewerte anhand einer bestimmten Entitäts-ID mithilfe der optimierten Onlinebereitstellung abgerufen.
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",
data_key=feature_online_store_service_pb2.FeatureViewDataKey(key=f"ENTITY_ID"),
data_format=feature_online_store_service_pb2.FeatureViewDataFormat.FORMAT,
)
)
Ersetzen Sie Folgendes:
PUBLIC_ENDPOINT_DOMAIN_NAME: Der Domainname des öffentlichen Endpunkts für die Onlinespeicherinstanz, die Sie mit der Methode
featureOnlineStores.get
abgerufen haben.LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
.PROJECT_ID ist die Projekt-ID.
FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
ENTITY_ID: Wert der ID-Spalte im Feature-Eintrag, aus dem Sie die neuesten Featurewerte bereitstellen möchten.
FORMAT: Optional: Das Format, in dem Sie die Featurewerte abrufen möchten. Zu den unterstützten Formaten gehören das JSON-
KEY_VALUE
-Paar und die Proto-PROTO_STRUCT
-Formate.
Featurewerte mit der optimierten Onlinebereitstellung von einem Private Service Connect-Endpunkt abrufen.
Wenn Sie Ihre Online-Speicher-Instanz so konfiguriert haben, dass Featurewerte über die optimierte Online-Bereitstellung von einem Private Service Connect-Endpunkt bereitgestellt werden, müssen Sie die folgenden Schritte ausführen, um Featurewerte aus einer Feature-Ansicht im Online-Speicher abzurufen:
Private Service Connect-Konfiguration für die
FeatureOnlineStore
-Instanz abrufenFügen Sie Ihrer Netzwerkkonfiguration einen Endpunkt für Private Service Connect hinzu.
Über gRPC eine Verbindung zum Private Service Connect-Endpunkt herstellen
String des Dienstanhangs für den Onlinespeicher abrufen
Wenn Sie eine Onlinespeicher-Instanz für optimierte Onlinebereitstellung mit einem Private Service Connect-Endpunkt erstellen und konfigurieren, generiert Vertex AI Feature Store einen String für den Dienstanhang, mit dem Sie den Private Service Connect-Endpunkt einrichten können. Sie können den String des Dienstanhangs in den Details des Onlinespeichers abrufen.
Verwenden Sie das folgende Beispiel, um die Details einer Onlinespeicherinstanz abzurufen.
REST
Sie rufen die Details eines FeatureOnlineStore
Ressource in Ihrem Projekt ab, indem Sie senden eine GET
Anfrage mithilfe des featureOnlineStores.get
-Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- FEATUREONLINESTORE_NAME: Der Name der Onlinespeicherinstanz.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "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": {} }
Sie benötigen den SERVICE_ATTACHMENT_STRING aus der Antwort, um im folgenden Schritt Featurewerte abzurufen.
Endpunkt für Private Service Connect hinzufügen
So fügen Sie Ihrer Netzwerkkonfiguration einen Private Service Connect-Endpunkt für eine optimierte Onlinebereitstellung hinzu:
Wählen Sie in der Google Cloud -Console das Projekt mit der Onlinespeicherinstanz aus.
Erstellen Sie einen Endpunkt für Private Service Connect durch Angeben von SERVICE_ATTACHMENT_STRING als Zieldienst. Informationen zum Erstellen eines Endpunkts für Private Service Connect finden Sie unter Endpunkt erstellen.
Nachdem Sie den Endpunkt erstellt haben, wird er auf dem Tab Verbundene Endpunkte auf der Seite Private Service Connect angezeigt. Die IP-Adresse des Endpunkts wird in der Spalte IP-Adressen angezeigt.
Tab „Verbundene Endpunkte“ aufrufen
Sie benötigen diese IP-Adresse, um im folgenden Schritt eine Verbindung zum Endpunkt für Ihre Onlinespeicher-Instanz zum Private Service Connect-Endpunkt über gRPC herzustellen.
Über gRPC eine Verbindung zum Private Service Connect-Endpunkt herstellen
Verwenden Sie das folgende Codebeispiel, um eine Verbindung zum erstellten Private Service Connect-Endpunkt für Ihren Onlinespeicher über gRPC herzustellen.
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")
)
)
Ersetzen Sie Folgendes:
- ENDPOINT_IP: Die IP-Adresse des Endpunkts in der Spalte IP-Adressen auf der Seite Private Service Connect.
Featurewerte aus einer Entitäts-ID abrufen
Nachdem Sie über gRPC eine Verbindung zum Private Service Connect-Endpunkt hergestellt haben, verwenden Sie das folgende Beispiel, um Featurewerte für eine bestimmte Entitäts-ID mithilfe der optimierten Onlinebereitstellung abzurufen.
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,
)
)
Ersetzen Sie Folgendes:
LOCATION_ID: Die Region, in der sich der Onlinespeicher befindet, z. B.
us-central1
.PROJECT_ID ist die Projekt-ID.
FEATUREONLINESTORE_NAME: Der Name des Onlinespeichers, der die Featureansicht enthält.
FEATUREVIEW_NAME: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.
ENTITY_ID: Wert der ID-Spalte im Feature-Eintrag, aus dem Sie die neuesten Featurewerte bereitstellen möchten.
FORMAT: Optional: Das Format, in dem Sie die Featurewerte abrufen möchten. Zu den unterstützten Formaten gehören das JSON-Schlüssel/Wert-Paar und die Proto-Formate "
Struct
". Das Proto-FormatStruct
unterstützt den Werttyp „bytes“ nicht. Wenn Sie Merkmalswerte abrufen möchten, die als Byte formatiert sind, verwenden Sie JSON als Antwortformat.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-10-19 (UTC).