Puede crear una vista de funciones en una instancia de tienda online. Al crear una vista de características, puedes asociarle características de las siguientes formas:
Añadir grupos de funciones y funciones desde el registro de funciones: asocia grupos de funciones y funciones del registro de funciones que ya tengas. Un grupo de características especifica la ubicación de la fuente de datos de BigQuery. Una característica de un grupo de características apunta a una columna de características específica de esa fuente de datos. Puede asociar una vista de características con varios grupos de características.
Añadir atributos de una fuente de BigQuery: asocia directamente una fuente de datos de BigQuery, como una tabla o una vista de BigQuery, y especifica al menos una columna de ID de entidad.
Después de crear una vista de características, Vertex AI Feature Store sincroniza los valores de características más recientes de la fuente de datos de BigQuery. Si defines el parámetro de consulta run_sync_immediately=true
, Vertex AI Feature Store sincroniza los valores de las características cuando creas la vista de características. De lo contrario, Vertex AI Feature Store sincroniza los valores de las características según la programación de sincronización especificada en la vista de características.
Antes de empezar
Autentícate en Vertex AI, a menos que ya lo hayas hecho.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad 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 obtener más información, consulta Set up authentication for a local development environment.
REST
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.
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 .
Sincronizar datos de entidades en una vista de entidad
Vertex AI Feature Store puede actualizar o sincronizar los valores de las características de la fuente de datos de BigQuery con la vista de características. Para especificar el tipo de sincronización de datos de una vista de función, usa el parámetro FeatureView.sync_config
.
Vertex AI Feature Store admite los siguientes tipos de sincronización de datos:
Sincronización de datos programada: puedes especificar la programación o la frecuencia de la sincronización de datos. Puede elegir esta sincronización de datos programada para una vista de características, independientemente del tipo de servicio online especificado para la instancia de tienda online.
Si tu vista de características está configurada para usar la sincronización de datos programada, puedes saltarte la espera hasta la siguiente operación de sincronización programada iniciando manualmente la sincronización de datos. Para obtener más información sobre cómo activar manualmente una sincronización de datos, consulta el artículo Sincronizar datos de funciones con la tienda online.
Durante el servicio online, si solo quieres servir los valores de las funciones más recientes, incluidos los valores nulos, debes usar la siguiente configuración:
Registre su fuente de datos de características creando un grupo de características con el parámetro
dense
definido comotrue
.Elige el servicio online de Bigtable cuando crees la instancia de la tienda online.
Elige la sincronización de datos programada al crear las vistas de características.
Sincronización continua de datos: los datos de la función se actualizan cada vez que se actualizan los datos de la función en la fuente de datos de BigQuery. Solo puedes elegir este tipo de sincronización de datos para una vista de función si se cumplen todas las condiciones siguientes:
La instancia de la tienda online está configurada para la entrega online de Bigtable.
La vista de características está asociada a grupos de características y recursos de características.
La fuente de datos de BigQuery se encuentra en una de las siguientes regiones:
eu
us
us-central1
La sincronización continua de datos tiene las siguientes limitaciones:
No puedes actualizar una vista de características si seleccionas la sincronización continua de datos.
Solo se sincronizan los registros de funciones nuevas de la fuente de datos de BigQuery. La sincronización continua de datos no sincroniza los registros de características que actualices o elimines en BigQuery.
El grupo de características de la fuente del registro de características debe tener una tabla de BigQuery como fuente.
Optimizar los costes durante la sincronización de datos programada
Una operación de sincronización de datos puede conllevar costes por el uso de recursos de BigQuery. Siga estas directrices para optimizar estos costes y mejorar el rendimiento durante una sincronización de datos:
No configure la programación de la sincronización para que se ejecute con una frecuencia mayor que la frecuencia con la que se espera que cambien los datos en la fuente de BigQuery.
Optimiza el tamaño de la fuente de datos de características en BigQuery. Al crear la vista de características, incluya solo los datos que necesite para el servicio online.
Evita ejecutar agregaciones complejas en BigQuery. Ejecuta una
SELECT *
consulta en la tabla o en la vista para estimar el volumen y la duración del procesamiento de datos.Al configurar las opciones de escalado de la tienda online, asigne a
max_node_count
un valor lo suficientemente alto como para cubrir las cargas elevadas durante una sincronización de datos.Programa la sincronización de diferentes vistas de funciones en distintos momentos de la misma tienda online.
Si tu tabla de BigQuery contiene un gran volumen de datos históricos, te recomendamos que la particiones mediante marcas de tiempo y que especifiques un intervalo de tiempo para recuperar los datos de las características. De esta forma, se minimiza la recuperación de datos de funciones obsoletos durante la sincronización.
La utilización de Bigtable aumenta durante las sincronizaciones de datos. En el caso de las vistas de características creadas en tiendas online para la publicación online de Bigtable, programa trabajos de sincronización durante las horas de menor actividad para obtener el mejor rendimiento.
Configurar la cuenta de servicio de una vista de características
Cada vista de características usa una cuenta de servicio para acceder a los datos de origen en BigQuery durante la sincronización. Vertex AI Feature Store asigna el rol de gestión de identidades y accesos (IAM) Lector de datos de BigQuery a esta cuenta de servicio.
De forma predeterminada, una vista de características usa la cuenta de servicio configurada para tu proyecto. Con esta configuración, cualquier usuario que tenga permiso para crear una vista de características en tu proyecto podrá acceder a los datos de características en BigQuery.
También puede configurar la vista de la función para que use su propia cuenta de servicio. A continuación, Vertex AI Feature Store configura una cuenta de servicio específica para la vista de características. Con esta configuración, puede restringir el acceso a los datos de las funciones en BigQuery o conceder acceso a usuarios adicionales.
Puedes especificar la configuración de la cuenta de servicio mediante el parámetro FeatureView.service_agent_type
. Ten en cuenta que Vertex AI Feature Store genera una dirección de correo de cuenta de servicio única para cada vista de características configurada para tener una cuenta de servicio dedicada.
Si una vista de características está configurada para tener una cuenta de servicio específica, puede ver la dirección de correo de la cuenta de servicio de una de las siguientes formas:
Recupera una lista de todas las vistas de características de la instancia de la tienda online con el método featureViews.list.
Recupera los detalles de la vista de características mediante el método featureViews.get.
Configurar la recuperación de vectores de una vista de características
Para configurar la recuperación de vectores de una vista de características en una tienda online creada para el servicio online optimizado, usa el parámetro FeatureView.index_config
.
Para obtener información sobre cómo preparar o actualizar la fuente de datos de BigQuery para que admita las inserciones incluyendo la columna embedding
, consulta las directrices de preparación de fuentes de datos.
Ten en cuenta que solo puedes configurar la recuperación de vectores y gestionar las inserciones si la vista de características se crea especificando un URI de origen de BigQuery y no a partir de grupos de características y características de Feature Registry.
Para obtener más información sobre cómo buscar los vecinos más cercanos aproximados mediante incrustaciones en Vertex AI Feature Store, consulta Búsqueda mediante incrustaciones.
Crear una vista de funciones a partir de grupos de funciones
Puede crear una vista de características basada en los datos de características registrados mediante grupos de características y características. Para asociar varias fuentes de datos de BigQuery a la misma vista de características, puedes especificar varios grupos de características.
Si creas una vista de características especificando grupos de características y características:
Su fuente de datos debe tener una columna
feature_timestamp
y puede contener datos históricos.Vertex AI Feature Store solo proporciona los valores de características más recientes en función de la marca de tiempo de la característica.
No puedes configurar la gestión de la inserción en la vista de la función.
Crear una vista de características con la configuración de cuenta de servicio predeterminada
Usa el siguiente ejemplo para crear una vista de características asociando varios grupos de características sin especificar una configuración de cuenta de servicio.
REST
Para crear un recurso FeatureView
, envía una solicitud POST
mediante el método featureViews.create.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: región en la que quieres crear la vista de características, como
us-central1
. - PROJECT_ID: tu ID de proyecto.
- FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.
- FEATUREVIEW_NAME: el nombre de la nueva instancia de vista de función que quieras crear.
- FEATUREGROUP_NAME_A y FEATUREGROUP_NAME_B: los nombres de los grupos de funciones de los que quieras añadir funciones a la vista de funciones.
- FEATURE_ID_A1 y FEATURE_ID_A2: IDs de las funciones del grupo de funciones FEATUREGROUP_NAME_A que quieras añadir a la vista de funciones.
- FEATURE_ID_B1 y FEATURE_ID_B2: IDs de las funciones del grupo de funciones FEATUREGROUP_NAME_B que quieras añadir a la vista de funciones.
- SYNC_CONFIG: introduce una de las siguientes configuraciones de sincronización para la vista de características:
- Para usar la sincronización de datos programada, proporciona la programación de sincronización con el siguiente formato:
"cron": "cron_schedule_expression"
Sustituye `cron_schedule_expression` por la expresión de programación cron que representa la frecuencia de sincronización de los datos con la vista de la función. Para obtener más información, consulta cron. - Para usar la sincronización de datos continua, introduzca lo siguiente:
"continuous": true
Solo puede usar la sincronización de datos continua si la instancia de la tienda online que contiene la vista de la función está configurada para el servicio online de Bigtable.
- Para usar la sincronización de datos programada, proporciona la programación de sincronización con el siguiente formato:
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
Cuerpo JSON de la solicitud:
{ "feature_registry_source": { "feature_groups": [ { "feature_group_id": "FEATUREGROUP_NAME_A", "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ] }, { "feature_group_id": "FEATUREGROUP_NAME_B", "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ] } ] }, "sync_config": { SYNC_CONFIG } }
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
Crear una vista de características que use una cuenta de servicio específica
Usa el siguiente ejemplo para crear una vista de características a partir de grupos de características configurando una cuenta de servicio específica.
REST
Para crear un recurso FeatureView
, envía una solicitud POST
mediante el método featureViews.create.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: región en la que quieres crear la vista de características, como
us-central1
. - PROJECT_ID: tu ID de proyecto.
- FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.
- FEATUREVIEW_NAME: el nombre de la nueva instancia de vista de función que quieras crear.
- FEATUREGROUP_NAME_A y FEATUREGROUP_NAME_B: los nombres de los grupos de funciones de los que quieras añadir funciones a la vista de funciones.
- FEATURE_ID_A1 y FEATURE_ID_A2: IDs de las funciones del grupo de funciones FEATUREGROUP_NAME_A que quieras añadir a la vista de funciones.
- FEATURE_ID_B1 y FEATURE_ID_B2: IDs de las funciones del grupo de funciones FEATUREGROUP_NAME_B que quieras añadir a la vista de funciones.
- SYNC_CONFIG: introduce una de las siguientes configuraciones de sincronización para la vista de características:
- Para usar la sincronización de datos programada, proporciona la programación de sincronización con el siguiente formato:
"cron": "cron_schedule_expression"
Sustituye `cron_schedule_expression` por la expresión de programación cron que representa la frecuencia de sincronización de los datos con la vista de la función. Para obtener más información, consulta cron. - Para usar la sincronización de datos continua, introduzca lo siguiente:
"continuous": true
Solo puede usar la sincronización de datos continua si la instancia de la tienda online que contiene la vista de la función está configurada para el servicio online de Bigtable.
- Para usar la sincronización de datos programada, proporciona la programación de sincronización con el siguiente formato:
- SERVICE_AGENT_TYPE: configuración de la cuenta de servicio de la vista de la función. Para usar una cuenta de servicio específica para la vista de la función, introduce
SERVICE_AGENT_TYPE_FEATURE_VIEW
.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
Cuerpo JSON de la solicitud:
{ "feature_registry_source": { "feature_groups": [ { "feature_group_id": "FEATUREGROUP_NAME_A", "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ] }, { "feature_group_id": "FEATUREGROUP_NAME_B", "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ] } ] }, "sync_config": { SYNC_CONFIG }, "service_agent_type": "SERVICE_AGENT_TYPE", }
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
Crear una vista de características a partir de una fuente de BigQuery
Si quieres ofrecer funciones online sin registrar tu fuente de datos de BigQuery mediante grupos y funciones, puedes crear una vista de funciones especificando el URI de la fuente de datos de BigQuery.
Si crea una vista de características especificando la fuente de datos:
No puede incluir una columna
feature_timestamp
en la tabla o vista de BigQuery.No puede incluir valores históricos de características en la fuente de datos. Cada fila debe contener un ID de entidad único.
Crear una vista de características que use la cuenta de servicio predeterminada y no admita inserciones
Usa los siguientes ejemplos para crear una vista de características que no admita las inserciones asociando directamente una fuente de datos de BigQuery y sin especificar una configuración de cuenta de servicio.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
project
: tu ID de proyecto.location
: región en la que quieres crear la vista de características, comous-central1
.existing_feature_online_store_id
: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.feature_view_id
: el nombre de la nueva instancia de vista de función que quieras crear.bq_table_uri
: URI de la tabla o vista de origen de BigQuery.entity_id_columns
: los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
"entity_id_column_name"
. - Para especificar varias columnas de ID de entidad, indique los nombres de las columnas con el siguiente formato:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
.
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
REST
Para crear un recurso FeatureView
, envía una solicitud POST
mediante el método featureViews.create.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: región en la que quieres crear la vista de características, como
us-central1
. - PROJECT_ID: tu ID de proyecto.
- FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.
- FEATUREVIEW_NAME: el nombre de la nueva vista de funciones que quieras crear.
- PROJECT_NAME: el nombre del proyecto.
- DATASET_NAME: nombre del conjunto de datos de BigQuery.
- TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
- ENTITY_ID_COLUMNS: los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
"entity_id_column_name"
- Para especificar varias columnas de ID de entidad, indique los nombres de las columnas con el siguiente formato:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
- CRON: expresión de programación cron que representa la frecuencia con la que se sincronizan los datos con la vista de la función. Para obtener más información, consulta cron.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
Cuerpo JSON de la solicitud:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" } }
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
Crear una vista de características que use la cuenta de servicio predeterminada y admita inserciones
Usa los siguientes ejemplos para crear una vista de características con compatibilidad con los embeddings asociando directamente una fuente de datos de BigQuery y con la configuración predeterminada de la cuenta de servicio.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
project
: tu ID de proyecto.location
: región en la que quieres crear la vista de características, comous-central1
.existing_feature_online_store_id
: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.feature_view_id
: el nombre de la nueva instancia de vista de función que quieras crear.bq_table_uri
: URI de la tabla o vista de origen de BigQuery.entity_id_columns
: los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
"entity_id_column_name"
. - Para especificar varias columnas de ID de entidad, indique los nombres de las columnas con el siguiente formato:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
.
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
embedding_column
: nombre de la columna que contiene los datos de origen para crear el índice de búsqueda vectorial. Solo es obligatorio si quieres gestionar las inserciones con la vista de funciones.embedding_dimensions
: opcional. El tamaño, expresado como el número de dimensiones, de una inserción en la columna de inserción.
REST
Para crear un recurso FeatureView
, envía una solicitud POST
mediante el método featureViews.create.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: región en la que quieres crear la vista de características, como
us-central1
. - PROJECT_ID: tu ID de proyecto.
- FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.
- FEATUREVIEW_NAME: el nombre de la nueva vista de funciones que quieras crear.
- PROJECT_NAME: el nombre del proyecto.
- DATASET_NAME: nombre del conjunto de datos de BigQuery.
- TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
- ENTITY_ID_COLUMNS: los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
"entity_id_column_name"
- Para especificar varias columnas de ID de entidad, indique los nombres de las columnas con el siguiente formato:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
- CRON: expresión de programación cron que representa la frecuencia con la que se sincronizan los datos con la vista de la función. Para obtener más información, consulta cron.
- EMBEDDING_COLUMN: nombre de la columna que contiene los datos de origen para crear el índice de búsqueda vectorial. Solo es obligatorio si quieres gestionar las inserciones con la vista de funciones.
- FILTER_COLUMN_1 y FILTER_COLUMN_2: opcional. Nombres de las columnas que se usan para filtrar los resultados de la búsqueda vectorial.
- CROWDING_COLUMN: opcional. Nombre de la columna que contiene los atributos de aglomeración.
- EMBEDDING_DIMENSION: opcional. Tamaño, expresado como número de dimensiones, de una inserción en la columna de inserciones.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
Cuerpo JSON de la solicitud:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" }, "index_config": { "embedding_column": "EMBEDDING_COLUMN", "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"], "crowding_column": "CROWDING_COLUMN", "embedding_dimension": EMBEDDING_DIMENSION "tree_ah_config": {} } }
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
Crear una vista de características con una cuenta de servicio específica y sin gestión insertada
Usa el siguiente ejemplo para crear una vista de características sin compatibilidad con la inserción asociando directamente una fuente de datos de BigQuery y especificando una configuración de cuenta de servicio.
REST
Para crear un recurso FeatureView
con compatibilidad con inserciones, envía una solicitud POST
mediante el método featureViews.create y especifica el parámetro FeatureView.index_config
. Ten en cuenta que solo puedes usar la gestión de inserciones si la tienda online está configurada para la publicación online optimizada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: región en la que quieres crear la vista de características, como
us-central1
. - PROJECT_ID: tu ID de proyecto.
- FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.
- FEATUREVIEW_NAME: el nombre de la nueva vista de funciones que quieras crear.
- PROJECT_NAME: el nombre del proyecto.
- DATASET_NAME: nombre del conjunto de datos de BigQuery.
- TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
- ENTITY_ID_COLUMNS: los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
"entity_id_column_name"
- Para especificar varias columnas de ID de entidad, indique los nombres de las columnas con el siguiente formato:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
- CRON: expresión de programación cron que representa la frecuencia con la que se sincronizan los datos con la vista de la función. Para obtener más información, consulta cron.
- SERVICE_AGENT_TYPE: configuración de la cuenta de servicio de la vista de la función. Para usar una cuenta de servicio específica para la vista de la función, introduce
SERVICE_AGENT_TYPE_FEATURE_VIEW
.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
Cuerpo JSON de la solicitud:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" }, "service_agent_type": "SERVICE_AGENT_TYPE", }
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
Crear una vista de características con gestión de inserciones y una cuenta de servicio dedicada
Usa el siguiente ejemplo para crear una vista de características con compatibilidad de inserción asociando directamente una fuente de datos de BigQuery y especificando una configuración de cuenta de servicio.
REST
Para crear un recurso FeatureView
con compatibilidad con inserciones, envía una solicitud POST
mediante el método featureViews.create y especifica el parámetro FeatureView.index_config
. Ten en cuenta que solo puedes usar la gestión de inserciones si la tienda online está configurada para la publicación online optimizada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: región en la que quieres crear la vista de características, como
us-central1
. - PROJECT_ID: tu ID de proyecto.
- FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda online en la que quiere crear la vista de características.
- FEATUREVIEW_NAME: el nombre de la nueva vista de funciones que quieras crear.
- PROJECT_NAME: el nombre del proyecto.
- DATASET_NAME: nombre del conjunto de datos de BigQuery.
- TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
- ENTITY_ID_COLUMNS: los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
"entity_id_column_name"
- Para especificar varias columnas de ID de entidad, indique los nombres de las columnas con el siguiente formato:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- Para especificar solo una columna de ID de entidad, indique el nombre de la columna con el siguiente formato:
- CRON: expresión de programación cron que representa la frecuencia con la que se sincronizan los datos con la vista de la función. Para obtener más información, consulta cron.
- SERVICE_AGENT_TYPE: configuración de la cuenta de servicio de la vista de la función. Para usar una cuenta de servicio específica para la vista de la función, introduce
SERVICE_AGENT_TYPE_FEATURE_VIEW
. - EMBEDDING_COLUMN: nombre de la columna que contiene los datos de origen para crear el índice de búsqueda vectorial. Solo es obligatorio si quieres gestionar las inserciones con la vista de funciones.
- FILTER_COLUMN_1 y FILTER_COLUMN_2: opcional. Nombres de las columnas que se usan para filtrar los resultados de la búsqueda vectorial.
- CROWDING_COLUMN: opcional. Nombre de la columna que contiene los atributos de aglomeración.
- EMBEDDING_DIMENSION: opcional. Tamaño, expresado como número de dimensiones, de una inserción en la columna de inserciones.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
Cuerpo JSON de la solicitud:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" }, "service_agent_type": "SERVICE_AGENT_TYPE", "index_config": { "embedding_column": "EMBEDDING_COLUMN", "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"], "crowding_column": "CROWDING_COLUMN", "embedding_dimension": EMBEDDING_DIMENSION "tree_ah_config": {} } }
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
Siguientes pasos
Consulta cómo servir funciones online.
Consulta cómo actualizar una vista de características.
Consulta cómo eliminar una vista de características.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).