Se a sua loja online usar a publicação online do Bigtable, pode atualizar diretamente os valores das caraterísticas numa vista de caraterísticas sem atualizar a origem de dados das caraterísticas em tempo real. Pode atualizar os valores das caraterísticas de um ID existente ou adicionar um novo ID da entidade juntamente com os valores das caraterísticas correspondentes. Use esta capacidade nos seguintes cenários:
Quer escrever funcionalidades numa loja online mais rapidamente do que com a sincronização em lote, mantendo a atualidade dos dados a 100 ms ou menos.
Quer obter a data/hora em que a funcionalidade é escrita na loja online.
O Vertex AI Feature Store não atualiza a origem de dados de caraterísticas no BigQuery com base nos dados de caraterísticas escritos diretamente numa instância de visualização de caraterísticas. Durante a sincronização de dados, o Vertex AI Feature Store atualiza a visualização de funcionalidades com o valor da funcionalidade que tem a data/hora mais recente. Por exemplo, se atualizar um valor de funcionalidade diretamente numa vista de funcionalidades e, posteriormente, atualizar a mesma funcionalidade na origem do BigQuery, o Vertex AI Feature Store atualiza a vista de funcionalidades com o valor de funcionalidade atualizado mais recentemente do BigQuery durante a próxima sincronização de dados.
Se quiser adicionar ou atualizar valores de atributos para uma coluna de atributos usada em várias vistas de atributos, tem de fazer as mesmas atualizações a cada vista de atributos separadamente.
Se uma instância da loja online estiver configurada para a publicação online otimizada, não pode escrever funcionalidades diretamente numa visualização de funcionalidades nessa loja online.
Tenha em atenção que esta capacidade não lhe permite adicionar nem remover colunas de caraterísticas numa vista de caraterísticas. Além disso, não pode eliminar valores de atributos nem IDs de entidades existentes.
Antes de começar
Autentique o Vertex AI, a menos que já o tenha feito.
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. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
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.
Atualize funcionalidades diretamente numa vista de funcionalidades
Use o exemplo seguinte para escrever caraterísticas numa entidade numa vista de caraterísticas.
REST
Para escrever valores de caraterísticas diretamente numa instância
FeatureView
, envie um pedido POST
através do método
featureViews.directWrite
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região da visualização de funcionalidades onde quer escrever as funcionalidades, como
us-central1
. - PROJECT_ID: o ID do seu projeto.
- FEATUREONLINESTORE_NAME: o nome da instância da loja online que contém a visualização de funcionalidades.
- FEATUREVIEW_NAME: o nome da nova instância de visualização de funcionalidades onde quer escrever as funcionalidades.
- ENTITY_ID: o ID da entidade para a qual quer adicionar valores de caraterísticas.
- FEATURE_1 e FEATURE_2: as funcionalidades que quer adicionar.
- FEATURE_1_VALUE e FEATURE_2_VALUE: os valores das caraterísticas para FEATURE_1 e FEATURE_2, respetivamente.
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:directWrite
Corpo JSON do pedido:
[ { "feature_view": "LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME", "data_key_and_feature_values": { "data_key": { "key": "ENTITY_ID" }, "features": [{ "name": "FEATURE_1", "value_and_timestamp": { "value": { "string_value": "FEATURE_1_VALUE" } } }, { "name": "FEATURE_2", "value_and_timestamp": { "value": { "string_value": "FEATURE_2_VALUE" } } } ] } } ]
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:directWrite"
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:directWrite" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte:
{ "status": {}, "writeResponses": [ { "dataKey": { "key": "ENTITY_ID" }, "onlineStoreWriteTime": "2025-04-01T01:30:09.525061Z" } ] }
O que se segue?
Saiba como iniciar manualmente uma sincronização de dados.
Saiba como atualizar uma vista de funcionalidades.