Atualize funcionalidades numa vista de funcionalidades

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?