O Vertex AI Feature Store permite-lhe publicar online valores de funcionalidades em tempo real a partir de uma vista de funcionalidades numa loja online. Por exemplo, pode publicar valores de caraterísticas a partir de uma vista de caraterísticas para previsões online. Uma visualização de funcionalidades tem de ser sincronizada, pelo menos, uma vez antes de poder publicar funcionalidades online a partir dessa funcionalidade.
Se a visualização de funcionalidades for definida com base em grupos de funcionalidades e funcionalidades, o Vertex AI Feature Store obtém os valores de funcionalidades mais recentes correspondentes a um ID de entidade específico. Se existirem vários registos com o mesmo valor na coluna ID, o Vertex AI Feature Store obtém os valores de caraterísticas não nulos mais recentes, com base na coluna feature_timestamp
.
Se a visualização de funcionalidades estiver diretamente associada a uma origem de dados do BigQuery sem associar grupos de funcionalidades e funcionalidades, o Vertex AI Feature Store obtém todos os valores das funcionalidades da origem de dados. Neste caso, cada linha na origem de dados tem de conter um ID único.
Consoante o tipo de publicação online configurado para a sua loja online, pode publicar valores de atributos de uma das seguintes formas:
Obter valores de caraterísticas através da publicação online do Bigtable: escolha esta opção apenas se a loja online estiver configurada para a publicação online do Bigtable.
Obter valores de caraterísticas através da publicação online otimizada com um ponto final público: escolha esta opção apenas se a loja online estiver configurada para a publicação online otimizada a partir de um ponto final público.
Obtenha valores de caraterísticas através do serviço online otimizado com um ponto final do Private Service Connect: escolha esta opção apenas se a loja online estiver configurada para o serviço online otimizado a partir de um ponto final de serviço dedicado através do Private Service Connect.
Antes de começar
Autentique o Vertex AI, a menos que já o tenha feito.
Select the tab for how you plan to use the samples on this page:
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
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.
Para mais informações, consulte Set up authentication for a local development environment.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Obtenha valores de funcionalidades através da publicação online do Bigtable
Pode usar o serviço online do Bigtable para fazer o seguinte:
Obtenha valores de atributos especificando um único ID de entidade
Obtenha valores de funcionalidades para um conjunto de entidades (pré-visualização)
Obtenha valores de funcionalidades para uma única entidade
Se a vista de funcionalidades tiver apenas uma coluna de ID de entidade, pode publicar funcionalidades especificando o valor contido nessa coluna. No entanto, se a visualização de caraterísticas tiver várias colunas de ID de entidade, pode localizar um registo de caraterística especificando os valores nessas colunas para constituir o ID de entidade exclusivo do registo de caraterística.
Obtenha valores de atributos de uma visualização de atributos com apenas uma coluna de ID de entidade
Use os seguintes exemplos para obter valores de funcionalidades para um ID de entidade específico, em que a vista de funcionalidades tem apenas uma coluna de ID de entidade.
REST
Para obter todos os valores das funcionalidades mais recentes de um ID de entidade específico de uma instância de FeatureView
, envie um pedido POST
através do método featureViews.fetchFeatureValues.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região onde a loja online está localizada, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
- FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
- ENTITY_ID: o valor da coluna de ID no registo de funcionalidades a partir do qual quer publicar os valores de funcionalidades mais recentes.
- FORMAT: opcional: o formato no qual quer obter os valores das caraterísticas.
São suportados os seguintes formatos:
KEY_VALUE
PROTO_STRUCT
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
Corpo JSON do pedido:
{ data_key: { key: "ENTITY_ID" }, data_format: "FORMAT" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
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
Use o exemplo seguinte para obter valores de funcionalidades com base num ID de entidade específico através da publicação online do Bigtable.
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")
Substitua o seguinte:
LOCATION_ID: região onde a loja online está localizada, como
us-central1
.PROJECT_ID: o ID do seu projeto.
FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
ENTITY_ID: o valor da coluna de ID para a qual quer publicar os valores das funcionalidades mais recentes.
FORMAT: opcional: o formato no qual quer obter os valores das caraterísticas. Os formatos suportados incluem formatos de pares JSON
KEY_VALUE
e protoPROTO_STRUCT
.
Obtenha valores de atributos de uma vista de atributos com várias colunas de ID de entidades
Use os seguintes exemplos para obter valores de funcionalidades para um ID de entidade específico, em que a vista de funcionalidades tem várias colunas de ID de entidade.
REST
Para obter todos os valores das funcionalidades mais recentes de um ID de entidade específico de uma instância de FeatureView
, envie um pedido POST
através do método featureViews.fetchFeatureValues.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região onde a loja online está localizada, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
- FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
- ENTITY_ID_PART_1, ENTITY_ID_PART_2 e ENTITY_ID_PART_3: as partes do ID da entidade nas colunas de ID da entidade configuradas para a vista de funcionalidades. Estas partes constituem o ID da entidade exclusivo para o registo do elemento.
- FORMAT: opcional: o formato no qual quer obter os valores das caraterísticas.
São suportados os seguintes formatos:
KEY_VALUE
PROTO_STRUCT
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
Corpo JSON do pedido:
{ data_key: { composite_key: { parts: ["ENTITY_ID_PART_1", "ENTITY_ID_PART_2", "ENTITY_ID_PART_3"] } }, data_format: "FORMAT" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
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
Use o exemplo seguinte para obter valores de funcionalidades com base num ID de entidade específico através da publicação online do Bigtable.
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"])
Substitua o seguinte:
LOCATION_ID: região onde a loja online está localizada, como
us-central1
.PROJECT_ID: o ID do seu projeto.
FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
ENTITY_ID_PART_1, ENTITY_ID_PART_2 e ENTITY_ID_PART_3: as partes do ID da entidade nas colunas de ID da entidade configuradas para a vista de recursos. Estas partes constituem o ID da entidade exclusivo para o registo do elemento.
FORMAT: opcional: o formato no qual quer obter os valores das caraterísticas. Os formatos suportados incluem formatos de pares JSON
KEY_VALUE
e protoPROTO_STRUCT
.
Obtenha valores de funcionalidades para um conjunto de entidades
Use o exemplo seguinte para obter valores de caraterísticas especificando um conjunto de IDs de várias colunas de ID de entidades através do serviço online do Bigtable.
REST
Para obter todos os valores das funcionalidades mais recentes de um ID de entidade específico de uma instância de FeatureView
, envie um pedido POST
através do método featureViews.streamingFetchFeatureValues.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região onde a loja online está localizada, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
- FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
- ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 e ENTITY_ID_4: O conjunto de valores das colunas de ID nos registos de atributos a partir dos quais quer publicar os valores de atributos mais recentes. Tenha em atenção que agrupar os IDs das entidades como várias listas aninhadas num pedido pode ajudar a reduzir a latência, uma vez que o Vertex AI Feature Store executa uma operação de leitura separada para cada lista aninhada de IDs.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues
Corpo JSON do pedido:
[ { 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" } ]
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
[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
Use o exemplo seguinte para obter valores de caraterísticas de várias colunas de ID de entidades através do serviço online do 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]
Substitua o seguinte:
LOCATION_ID: região onde a loja online está localizada, como
us-central1
.PROJECT_ID: o ID do seu projeto.
FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 e ENTITY_ID_4: os IDs das entidades a partir das quais quer publicar os valores das funcionalidades mais recentes. Tenha em atenção que agrupar os IDs das entidades como várias listas aninhadas num pedido pode ajudar a reduzir a latência, uma vez que o Vertex AI Feature Store executa uma operação de leitura separada para cada lista aninhada de IDs.
Obtenha valores de funcionalidades através da publicação online otimizada a partir de um ponto final público
Se configurou a instância da loja online para publicar valores de atributos através da publicação online otimizada a partir de um ponto final público, tem de realizar os seguintes passos para obter valores de atributos a partir de uma visualização de atributos na loja online:
Obtenha o nome do domínio do ponto final público para a loja online
Quando cria e configura uma instância da loja online para o serviço online otimizado com um ponto final público, o Vertex AI Feature Store gera o nome do domínio do ponto final público para a loja online. Antes de poder começar a publicar valores de atributos a partir de uma vista de atributos na loja online, tem de obter o nome de domínio do ponto final público a partir dos detalhes da loja online.
Use o exemplo seguinte para obter os detalhes de uma instância de loja online.
REST
Para obter os detalhes de um recurso FeatureOnlineStore
no seu projeto, envie um pedido através do método featureOnlineStores.get
.GET
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região onde a loja online está localizada, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da instância da loja online.
Método HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
{ "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": {} }
Precisa do PUBLIC_ENDPOINT_DOMAIN_NAME da resposta para obter os valores das funcionalidades no passo seguinte.
Obtenha valores de funcionalidades a partir de um ID de entidade
Depois de obter o nome do domínio do ponto final público para a instância da loja online, use o exemplo seguinte para obter valores de funcionalidades para um ID de entidade específico através da publicação online otimizada.
REST
Para obter todos os valores de funcionalidades mais recentes de um ID de entidade específico de uma instância de FeatureView
, envie um pedido POST
através do método featureViews.fetchFeatureValues
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PUBLIC_ENDPOINT_DOMAIN_NAME: o nome do domínio do ponto final público da instância da loja online que recuperou através do método
featureOnlineStores.get
. - LOCATION_ID: região onde a loja online está localizada, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
- FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
- ENTITY_ID: o valor da coluna de ID no registo de funcionalidades a partir do qual quer publicar os valores de funcionalidades mais recentes.
- FORMAT: opcional: o formato usado para obter os valores das caraterísticas.
São suportados os seguintes formatos:
KEY_VALUE
PROTO_STRUCT
Método HTTP e URL:
POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues
Corpo JSON do pedido:
{ data_key: { key: "ENTITY_ID" }, data_format: "FORMAT" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
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
Use o exemplo seguinte para obter valores de funcionalidades com base num ID de entidade específico através da publicação online otimizada.
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,
)
)
Substitua o seguinte:
PUBLIC_ENDPOINT_DOMAIN_NAME: o nome do domínio do ponto final público da instância da loja online que recuperou através do método
featureOnlineStores.get
.LOCATION_ID: região onde a loja online está localizada, como
us-central1
.PROJECT_ID: o ID do seu projeto.
FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
ENTITY_ID: o valor da coluna de ID no registo de funcionalidades a partir do qual quer publicar os valores de funcionalidades mais recentes.
FORMAT: opcional: o formato no qual quer obter os valores das caraterísticas. Os formatos suportados incluem formatos de pares JSON
KEY_VALUE
e protoPROTO_STRUCT
.
Obtenha valores de funcionalidades através da publicação online otimizada a partir de um ponto final do Private Service Connect
Se configurou a instância da loja online para publicar valores de atributos através da publicação online otimizada a partir de um ponto final do Private Service Connect, tem de realizar os seguintes passos para obter valores de atributos a partir de uma visualização de atributos na loja online:
Recupere a configuração do Private Service Connect para a instância
FeatureOnlineStore
.Adicione um ponto final para o Private Service Connect à configuração de rede.
Estabeleça ligação ao ponto final do Private Service Connect através de gRPC.
Recupere a string de anexo do serviço para a loja online
Quando cria e configura uma instância de loja online para o serviço online otimizado com um ponto final do Private Service Connect, o Vertex AI Feature Store gera uma string de associação de serviços que pode usar para configurar o ponto final do Private Service Connect. Pode obter a string de associação de serviço a partir dos detalhes da loja online.
Use o exemplo seguinte para obter os detalhes de uma instância de loja online.
REST
Para obter os detalhes de um recurso FeatureOnlineStore
no seu projeto, envie um pedido através do método featureOnlineStores.get
.GET
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região onde a loja online está localizada, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da instância da loja online.
Método HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
{ "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": {} }
Precisa do SERVICE_ATTACHMENT_STRING da resposta para obter os valores das funcionalidades no passo seguinte.
Adicione um ponto final para o Private Service Connect
Para adicionar um ponto final do Private Service Connect para o serviço online otimizado à configuração da sua rede, execute os seguintes passos:
Na Google Cloud consola, selecione o projeto que contém a instância da loja online.
Crie um ponto final para o Private Service Connect especificando o SERVICE_ATTACHMENT_STRING como o serviço de destino. Para obter informações sobre como criar um ponto final para o Private Service Connect, consulte o artigo Crie um ponto final.
Depois de criar o ponto final, este é apresentado no separador Pontos finais ligados na página Private Service Connect. O endereço IP do ponto final aparece na coluna Endereços IP.
Aceda ao separador Pontos finais ligados
Tem de usar este endereço IP para estabelecer ligação ao ponto final da instância da loja online ao ponto final do Private Service Connect através de gRPC no passo seguinte.
Estabeleça ligação ao ponto final do Private Service Connect através do gRPC
Use o seguinte exemplo de código para estabelecer ligação ao ponto final do Private Service Connect criado para a sua loja online através do 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")
)
)
Substitua o seguinte:
- ENDPOINT_IP: o endereço IP do ponto final na coluna Endereços IP na página Private Service Connect.
Obtenha valores de funcionalidades a partir de um ID de entidade
Depois de se ligar ao ponto final do Private Service Connect através do gRPC, use o exemplo seguinte para obter valores de funcionalidades para um ID de entidade específico através do serviço online otimizado.
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,
)
)
Substitua o seguinte:
LOCATION_ID: região onde a loja online está localizada, como
us-central1
.PROJECT_ID: o ID do seu projeto.
FEATUREONLINESTORE_NAME: o nome da loja online que contém a vista de funcionalidades.
FEATUREVIEW_NAME: o nome da vista de funcionalidades a partir da qual quer publicar valores de funcionalidades.
ENTITY_ID: o valor da coluna de ID no registo de funcionalidades a partir do qual quer publicar os valores de funcionalidades mais recentes.
FORMAT: opcional: o formato no qual quer obter os valores das caraterísticas. Os formatos suportados incluem o par de chave-valor JSON e os formatos proto
Struct
. Tenha em atenção que o formato protoStruct
não suporta o tipo de valor de funcionalidade de bytes. Se quiser obter valores de caraterísticas formatados como bytes, use JSON como formato de resposta.
O que se segue?
Saiba como sincronizar dados para uma vista de funcionalidades.
Saiba como atualizar uma loja online.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-19 UTC.