Entrega funciones desde la tienda en línea

Vertex AI Feature Store te permite entregar valores de atributos en línea en tiempo real desde una vista de atributos dentro de una tienda en línea. Por ejemplo, puedes entregar los valores de los atributos desde una vista de atributos para las predicciones en línea. Una vista de atributos debe sincronizarse al menos una vez para que puedas entregar atributos en línea desde esa función.

Si la vista de atributos se define en función de grupos de atributos y atributos, Vertex AI Feature Store recupera los valores de atributos más recientes correspondientes a un ID de entidad específico. Si hay varios registros con el mismo valor en la columna de ID, Vertex AI Feature Store recupera los valores de atributos no nulos más recientes, según la columna feature_timestamp.

Si la vista de atributos está asociada directamente con una fuente de datos de BigQuery sin asociar grupos de atributos ni atributos, Vertex AI Feature Store recupera todos los valores de atributos de la fuente de datos. En este caso, cada fila de la fuente de datos debe contener un ID único.

Según el tipo de entrega en línea configurada para tu tienda en línea, puedes entregar valores de atributos de una de las siguientes maneras:

Antes de comenzar

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:

Python

Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. 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.

Para obtener más información, consulta Set up authentication for a local development environment.

REST

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

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Recupera valores de atributos a través de la entrega en línea de Bigtable

Puedes usar la entrega en línea de Bigtable para hacer lo siguiente:

Recupera valores de atributos de una sola entidad

Usa el siguiente ejemplo para recuperar los valores de atributos según un ID de la entidad específico a través de la entrega en línea de Bigtable.

REST

Para recuperar todos los valores de atributos más recientes de un ID de entidad específico de una instancia FeatureView, envía una solicitud POST mediante el método featureViews. Método .fetchFeatureValues.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.
  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.
  • ENTITY_ID: Es el valor de la columna de ID en el registro de atributos desde el que deseas publicar los valores de atributos más recientes.
  • FORMAT: Opcional: El formato en el que deseas recuperar los valores del atributo. Se admiten los siguientes formatos:
    • KEY_VALUE
    • PROTO_STRUCT

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  data_key: { key: "ENTITY_ID" },
  data_format: "FORMAT"
}

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/FEATUREVIEW_NAME:fetchFeatureValues"

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/FEATUREVIEW_NAME:fetchFeatureValues" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

key_values {
  features {
    value {
      int64_value: 258348
    }
    name: "feature_0"
  }
  features {
    value {
      double_value: 0.96300036744534068
    }
    name: "feature_1"
  }
  features {
    value {
      double_value: 0.42787383695351083
    }
    name: "feature_2"
  }
  features {
    value {
      double_value: 0.12219888824743128
    }
    name: "feature_3"
  }
  features {
    value {
      double_value: 0.037523154697944622
    }
    name: "feature_4"
  }
  features {
    value {
      double_value: 0.1766952509448767
    }
    name: "feature_5"
  }
}

Python

Usa el siguiente ejemplo para recuperar valores de atributos según un ID de la entidad específico a través de la entrega en línea de Bigtable.

from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.types import feature_online_store_service as feature_online_store_service_pb2

data_client = FeatureOnlineStoreServiceClient(
  client_options={"api_endpoint": f"LOCATION_ID-aiplatform.googleapis.com"}
)
data_client.fetch_feature_values(
  request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
    feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
    data_key=feature_online_store_service_pb2.FeatureViewDataKey(key="ENTITY_ID"),
    data_format=feature_online_store_service_pb2.FeatureViewDataFormat.FORMAT,
  )
)

Reemplaza lo siguiente:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.

  • PROJECT_ID: ID del proyecto

  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.

  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.

  • ENTITY_ID: Es el valor de la columna de ID en el registro de atributos desde el que deseas publicar los valores de atributos más recientes.

  • FORMAT: Opcional: El formato en el que deseas recuperar los valores del atributo. Los formatos compatibles incluyen el par JSON KEY_VALUE y los formatos proto PROTO_STRUCT.

Recupera los valores de atributos de un conjunto de entidades

Usa el siguiente ejemplo para recuperar valores de atributos mediante la especificación de un conjunto de IDs de varias columnas de ID de entidad con la entrega en línea de Bigtable.

REST

Para recuperar todos los valores de atributos más recientes de un ID de entidad específico de una instancia FeatureView, envía una solicitud POST mediante el método featureViews.streamingFetchFeatureValues.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.
  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.
  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 y ENTITY_ID_4: El conjunto de valores de las columnas de ID en los registros de atributos desde los que deseas entregar los valores de atributos más recientes. Ten en cuenta que agrupar los ID de la entidad como varias listas anidadas en una solicitud puede ayudar a reducir la latencia, ya que Vertex AI Feature Store realiza una operación de lectura independiente para cada lista anidada de ID.

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:streamingFetchFeatureValues

Cuerpo JSON de la solicitud:

[
  {
    data_keys: [{key: "ENTITY_ID_1"}, {key: "ENTITY_ID_2"}],
    feature_view: "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
  },
  {
    data_keys: [{key: "ENTITY_ID_3"}, {key: "ENTITY_ID_4"}],
    feature_view: "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
  }
]

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:streamingFetchFeatureValues"

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:streamingFetchFeatureValues" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

[data {
  key_values {
    features {
      name: "movies"
      value {
        string_value: "movie_04"
      }
    }
    features {
      name: "feature_timestamp"
      value {
        int64_value: 1631694494000000
      }
    }
  }
  data_key {
    key: "eve"
  }
}
, data {
  key_values {
    features {
      name: "movies"
      value {
        string_value: "movie_03"
      }
    }
    features {
      name: "feature_timestamp"
      value {
        int64_value: 1631612115000000
      }
    }
  }
  data_key {
    key: "alice"
  }
}
data {
  key_values {
    features {
      name: "movies"
      value {
        string_value: "movie_02"
      }
    }
    features {
      name: "feature_timestamp"
      value {
        int64_value: 1631694494000000
      }
    }
  }
  data_key {
    key: "bob"
  }
}
]

Python

Usa el siguiente ejemplo para recuperar valores de atributos de varias columnas de ID de entidad a través de la entrega en línea de Bigtable.

from google.cloud.aiplatform_v1beta1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1beta1.types import feature_online_store_service as feature_online_store_service_pb2

data_client = FeatureOnlineStoreServiceClient(
  client_options={"api_endpoint": f"LOCATION_ID-aiplatform.googleapis.com"}
)

feature_view = "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"

keys_list=[
    ["ENTITY_ID_1","ENTITY_ID_2"],
    ["ENTITY_ID_3","ENTITY_ID_4"]
  ]

requests = []

for keys in keys_list:
  requests.append(
    feature_online_store_service_pb2.StreamingFetchFeatureValuesRequest(
      feature_view=feature_view,
      data_keys=[
          feature_online_store_service_pb2.FeatureViewDataKey(key=key)
          for key in keys
      ]    
    )
  )

responses = data_client.streaming_fetch_feature_values(
    requests=iter(requests)
)
responses = [response for response in responses]

Reemplaza lo siguiente:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.

  • PROJECT_ID: ID del proyecto

  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.

  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.

  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 y ENTITY_ID_4: Los ID de la entidad desde los que deseas publicar los valores de atributos más recientes. Ten en cuenta que agrupar los ID de la entidad como varias listas anidadas en una solicitud puede ayudar a reducir la latencia, ya que Vertex AI Feature Store realiza una operación de lectura independiente para cada lista anidada de ID.

Recupera valores de atributos mediante la entrega en línea optimizada desde un extremo público

Si configuraste la instancia de tu tienda en línea para que entregue valores de atributos mediante la entrega optimizada en línea desde un extremo público, debes realizar los siguientes pasos a fin de recuperar valores de atributos desde una vista de atributos en línea. almacenamiento:

  1. Recupera el nombre de dominio del extremo público de la instancia FeatureOnlineStore.

  2. Recupera los valores de atributos de un ID de entidad mediante el nombre de dominio del extremo público.

Recupera el nombre de dominio del extremo público de la tienda en línea

Cuando creas y configuras una instancia de almacén en línea para la entrega en línea optimizada con un extremo público, Vertex AI Feature Store genera el nombre de dominio del extremo público para el almacén en línea. Antes de comenzar a entregar valores de atributos desde una vista de atributos en el almacén en línea, debes recuperar el nombre de dominio del extremo público de los detalles del almacén en línea.

Usa la siguiente muestra para recuperar los detalles de una instancia de tienda en línea.

REST

Para recuperar los detalles de un recurso FeatureOnlineStore en tu proyecto, envía una solicitud GET mediante el método featureOnlineStores.get.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: El nombre de la instancia de tienda en línea.

Método HTTP y URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1",
  "createTime": "2023-09-06T23:25:04.256314Z",
  "updateTime": "2023-09-06T23:25:04.256314Z",
  "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=",
  "state": "STABLE",
  "dedicatedServingEndpoint": {
    "publicEndpointDomainName": "PUBLIC_ENDPOINT_DOMAIN_NAME"
  },
  "optimized": {}
}

Necesitarás el PUBLIC_ENDPOINT_DOMAIN_NAME de la respuesta para recuperar los valores de los atributos en el siguiente paso.

Recupera valores de atributos de un ID de entidad

Después de recuperar el nombre de dominio del extremo público para la instancia de tienda en línea, usa la siguiente muestra a fin de recuperar los valores de atributos de un ID de entidad específico mediante la entrega en línea optimizada.

REST

Para recuperar todos los valores de atributos más recientes de un ID de entidad específico de una instancia FeatureView, envía una solicitud POST mediante el método featureViews.fetchFeatureValues.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: Es el nombre de dominio del extremo público para la instancia de tienda en línea que recuperaste mediante el método featureOnlineStores.get.
  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.
  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.
  • ENTITY_ID: Es el valor de la columna de ID en el registro de atributos desde el que deseas publicar los valores de atributos más recientes.
  • FORMAT: Opcional: Es el formato que se usa para recuperar los valores de los atributos. Se admiten los siguientes formatos:
    • KEY_VALUE
    • PROTO_STRUCT

Método HTTP y URL:

POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues

Cuerpo JSON de la solicitud:

{
  data_key: { key: "ENTITY_ID" },
  data_format: "FORMAT"
}

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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues"

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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

key_values {
  features {
    value {
      int64_value: 258348
    }
    name: "feature_0"
  }
  features {
    value {
      double_value: 0.96300036744534068
    }
    name: "feature_1"
  }
  features {
    value {
      double_value: 0.42787383695351083
    }
    name: "feature_2"
  }
  features {
    value {
      double_value: 0.12219888824743128
    }
    name: "feature_3"
  }
  features {
    value {
      double_value: 0.037523154697944622
    }
    name: "feature_4"
  }
  features {
    value {
      double_value: 0.1766952509448767
    }
    name: "feature_5"
  }
}

Python

Usa el siguiente ejemplo para recuperar valores de atributos según un ID de la entidad específico a través de la entrega en línea optimizada.

from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.types import feature_online_store_service as feature_online_store_service_pb2

data_client = FeatureOnlineStoreServiceClient(
  client_options={"api_endpoint": f"PUBLIC_ENDPOINT_DOMAIN_NAME"}
)
data_client.fetch_feature_values(
  request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
    feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
    id=f"ENTITY_ID",
    format=feature_online_store_service_pb2.FetchFeatureValuesRequest.Format.FORMAT,
  )
)

Reemplaza lo siguiente:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: Es el nombre de dominio del extremo público para la instancia de tienda en línea que recuperaste mediante el método featureOnlineStores.get.

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.

  • PROJECT_ID: ID del proyecto

  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.

  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.

  • ENTITY_ID: Es el valor de la columna de ID en el registro de atributos desde el que deseas publicar los valores de atributos más recientes.

  • FORMAT: Opcional: El formato en el que deseas recuperar los valores del atributo. Los formatos compatibles incluyen el par JSON KEY_VALUE y los formatos proto PROTO_STRUCT.

Recupera valores de atributos mediante la entrega en línea optimizada desde un extremo de Private Service Connect

Si configuraste la instancia de tu tienda en línea para que entregue valores de atributos mediante la entrega optimizada en línea desde un extremo de Private Service Connect, debes realizar los siguientes pasos a fin de recuperar valores de atributos desde una vista de atributos en línea. almacenamiento:

  1. Recupera la configuración de Private Service Connect para la instancia FeatureOnlineStore.

  2. Agrega un extremo para Private Service Connect a tu configuración de red.

  3. Conéctate al extremo de Private Service Connect a través de gRPC.

  4. Recupera los valores de atributos de un ID de entidad.

Recupera la cadena de adjunto de servicio para la tienda en línea

Cuando creas y configuras una instancia de tienda en línea para la entrega en línea optimizada con un extremo de Private Service Connect, Vertex AI Feature Store genera una cadena de adjunto de servicio que puedes usar para configurar el extremo de Private Service Connect. Puedes recuperar la string del adjunto de servicio desde los detalles de la tienda en línea.

Usa la siguiente muestra para recuperar los detalles de una instancia de tienda en línea.

REST

Para recuperar los detalles de un recurso FeatureOnlineStore en tu proyecto, envía una solicitud GET mediante el método featureOnlineStores.get.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: El nombre de la instancia de tienda en línea.

Método HTTP y URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1",
  "createTime": "2023-09-06T23:25:04.256314Z",
  "updateTime": "2023-09-06T23:25:04.256314Z",
  "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=",
  "state": "STABLE",
  "dedicatedServingEndpoint": {
    "privateServiceConnectConfig": {
      "enablePrivateServiceConnect": "true",
      "projectAllowlist": [
        "PROJECT_NAME"
      ]
    },
    serviceAttachment: "SERVICE_ATTACHMENT_STRING"
  },
  "optimized": {}
}

Necesitarás el SERVICE_ATTACHMENT_STRING de la respuesta para recuperar los valores de los atributos en el siguiente paso.

Agrega un extremo para Private Service Connect

Si quieres agregar un extremo de Private Service Connect para la entrega en línea optimizada a la configuración de tu red, sigue estos pasos:

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de la tienda en línea.

  2. Si quieres crear un extremo para Private Service Connect, especifica SERVICE_ATTACHMENT_STRING como el servicio de destino. Si deseas obtener información para crear un extremo para Private Service Connect, consulta Crea un extremo.

Después de crear el extremo, aparecerá en la pestaña Extremos conectados en la página de Private Service Connect. La dirección IP del extremo aparece en la columna Direcciones IP.

Ir a la pestaña Extremos conectados

Deberás usar esta dirección IP para conectarte al extremo de tu instancia de almacenamiento en línea al extremo de Private Service Connect mediante gRPC en el siguiente paso.

Conéctate al extremo de Private Service Connect a través de gRPC

Usa la siguiente muestra de código a fin de conectarte al extremo de Private Service Connect creado para tu almacén en línea a través de gRPC.

Python

from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.services.feature_online_store_service.transports.grpc import FeatureOnlineStoreServiceGrpcTransport
import grpc

data_client = FeatureOnlineStoreServiceClient(
  transport = FeatureOnlineStoreServiceGrpcTransport(
    # Add the IP address of the Endpoint you just created.
    channel = grpc.insecure_channel("ENDPOINT_IP:10002")
  )
)

Reemplaza lo siguiente:

  • ENDPOINT_IP: Es la dirección IP del extremo en la columna Direcciones IP en la página de Private Service Connect.

Recupera valores de atributos de un ID de entidad

Después de conectarte al extremo de Private Service Connect a través de gRPC, usa la siguiente muestra para recuperar los valores de los atributos de un ID de entidad específico mediante la entrega en línea optimizada.

Python

data_client.fetch_feature_values(
  request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
  feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
  data_key=feature_online_store_service_pb2.FeatureViewDataKey(ENTITY_ID),
  data_format=feature_online_store_service_pb2.FeatureViewDataFormat.PROTO_STRUCT,
  )
)

Reemplaza lo siguiente:

  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.

  • PROJECT_ID: ID del proyecto

  • FEATUREONLINESTORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.

  • FEATUREVIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.

  • ENTITY_ID: Es el valor de la columna de ID en el registro de atributos desde el que deseas publicar los valores de atributos más recientes.

  • FORMAT: Opcional: El formato en el que deseas recuperar los valores del atributo. Los formatos compatibles incluyen el par clave-valor JSON y los formatos proto Struct. Ten en cuenta que el formato proto Struct no admite el tipo de valor de la función de bytes. Si deseas recuperar valores de atributos con formato de bytes, usa JSON como formato de respuesta.

¿Qué sigue?