Si tu tienda en línea usa la publicación en línea de Bigtable, puedes actualizar directamente los valores de atributos en una vista de atributos sin actualizar la fuente de datos de atributos en tiempo real. Puedes actualizar los valores de atributos de un ID existente o agregar un nuevo ID de entidad junto con los valores de atributos correspondientes. Usa esta capacidad en las siguientes situaciones:
Quieres escribir atributos en una tienda en línea más rápido que con la sincronización por lotes y, al mismo tiempo, mantener la actualización de los datos en 100 ms o menos.
Quieres recuperar la marca de tiempo en la que se escribió la función en la tienda en línea.
Vertex AI Feature Store no actualiza la fuente de datos de atributos en BigQuery según los datos de atributos que se escriben directamente en una instancia de vista de atributos. Durante la sincronización de datos, Vertex AI Feature Store actualiza la vista de atributos con el valor del atributo que tiene la marca de tiempo más reciente. Por ejemplo, si actualizas un valor de atributo directamente en una vista de atributos y, luego, actualizas el mismo atributo en la fuente de BigQuery, Vertex AI Feature Store actualizará la vista de atributos con el valor de atributo actualizado más recientemente de BigQuery durante la próxima sincronización de datos.
Si deseas agregar o actualizar valores de atributos para una columna de atributos que se usa en varias vistas de atributos, debes realizar las mismas actualizaciones en cada vista de atributos por separado.
Si una instancia de tienda en línea está configurada para la entrega en línea optimizada, no puedes escribir atributos directamente en una vista de atributos dentro de esa tienda en línea.
Ten en cuenta que esta capacidad no te permite agregar ni quitar columnas de atributos en una vista de atributos. Además, no puedes borrar los valores de atributos ni los IDs de entidades existentes.
Antes de comenzar
Autentícate en Vertex AI, a menos que ya lo hayas hecho.
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a gcloud CLI.
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Actualiza atributos directamente en una vista de atributos
Usa el siguiente ejemplo para escribir atributos en una entidad dentro de una vista de atributos.
REST
Para escribir valores de atributos directamente en una instancia de FeatureView
, envía una solicitud POST
con el método featureViews.directWrite
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION_ID: Es la región de la vista de atributos en la que deseas escribir los atributos, como
us-central1
. - PROJECT_ID: ID del proyecto
- FEATUREONLINESTORE_NAME: Es el nombre de la instancia de la tienda en línea que contiene la vista de atributos.
- FEATUREVIEW_NAME: Es el nombre de la instancia de vista de atributos nueva en la que deseas escribir los atributos.
- ENTITY_ID: Es el ID de la entidad para la que deseas agregar valores de atributos.
- FEATURE_1 y FEATURE_2: Son los atributos que deseas agregar.
- FEATURE_1_VALUE y FEATURE_2_VALUE: Son los valores de los atributos para 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 que se muestra a continuación:
{ "status": {}, "writeResponses": [ { "dataKey": { "key": "ENTITY_ID" }, "onlineStoreWriteTime": "2025-04-01T01:30:09.525061Z" } ] }
¿Qué sigue?
Obtén más información para iniciar una sincronización de datos de forma manual
Obtén información para actualizar una vista de funciones.