Actualizar funciones en una vista de funciones

Si tu tienda online usa el servicio online de Bigtable, puedes actualizar directamente los valores de las características en una vista de características sin actualizar la fuente de datos de las características en tiempo real. Puede actualizar los valores de las características de un ID que ya tenga o añadir un nuevo ID de entidad junto con los valores de las características correspondientes. Usa esta función en los siguientes casos:

  • Quieres escribir funciones en una tienda online más rápido que con la sincronización por lotes, pero manteniendo la actualización de los datos en 100 ms o menos.

  • Quieres obtener la marca de tiempo en la que se escribe la función en la tienda online.

Vertex AI Feature Store no actualiza la fuente de datos de características en BigQuery en función de los datos de características que se escriben directamente en una instancia de vista de características. Durante la sincronización de datos, Vertex AI Feature Store actualiza la vista de características con el valor de característica que tiene la marca de tiempo más reciente. Por ejemplo, si actualizas un valor de una característica directamente en una vista de características y, posteriormente, actualizas la misma característica en la fuente de BigQuery, Vertex AI Feature Store actualizará la vista de características con el valor de la característica más reciente de BigQuery durante la siguiente sincronización de datos.

Si quiere añadir o actualizar valores de características en una columna de características que se usa en varias vistas de características, debe hacer los mismos cambios en cada vista de características por separado.

Si una instancia de tienda online está configurada para el servicio online optimizado, no puedes escribir funciones directamente en una vista de funciones de esa tienda online.

Ten en cuenta que esta función no te permite añadir ni quitar columnas de características en una vista de características. Además, no puedes eliminar valores de características ni IDs de entidad.

Antes de empezar

Autentícate en Vertex AI, a menos que ya lo hayas hecho.

Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

    Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

    gcloud init

    Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Actualizar funciones directamente en una vista de funciones

Usa el siguiente ejemplo para escribir características en una entidad de una vista de características.

REST

Para escribir valores de características directamente en una instancia de FeatureView, envía una solicitud POST mediante el método featureViews.directWrite.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • LOCATION_ID: región de la vista de características en la que quieres escribir las características, como us-central1.
  • PROJECT_ID: tu ID de proyecto.
  • FEATUREONLINESTORE_NAME: nombre de la instancia de la tienda online que contiene la vista de características.
  • FEATUREVIEW_NAME: el nombre de la nueva instancia de vista de características en la que quiere escribir las características.
  • ENTITY_ID: el ID de la entidad a la que quiere añadir valores de características.
  • FEATURE_1 y FEATURE_2: las funciones que quieras añadir.
  • FEATURE_1_VALUE y FEATURE_2_VALUE: los valores de las funciones de FEATURE_1 y FEATURE_2, respectivamente.

Método HTTP y URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:directWrite

Cuerpo JSON de la solicitud:

[
  {
      "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 tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "status": {},
  "writeResponses": [
    {
      "dataKey": {
        "key": "ENTITY_ID"
      },
      "onlineStoreWriteTime": "2025-04-01T01:30:09.525061Z"
    }
  ]
}

Siguientes pasos