Veicular atributos na loja on-line

A Vertex AI Feature Store permite veicular valores de atributos on-line em tempo real a partir de uma visualização de recursos em uma loja on-line. Por exemplo, é possível exibir valores de recursos de uma visualização de recursos para previsões on-line. A visualização de recursos precisa ser sincronizada pelo menos uma vez para que você possa disponibilizar on-line os recursos desse recurso.

Se a visualização de recursos for definida com base em atributos e grupos de recursos, a Feature Store da Vertex AI vai buscar os valores mais recentes dos atributos correspondentes a um ID de entidade específico. Se houver vários registros com o mesmo valor na coluna ID, o Vertex AI Feature Store vai buscar os valores de atributos não nulos mais recentes, com base na coluna feature_timestamp.

Se a visualização do recurso estiver diretamente associada a uma fonte de dados do BigQuery sem associar grupos e atributos, o Vertex AI Feature Store vai buscar todos os valores de atributos da fonte de dados. Nesse caso, cada linha na fonte de dados precisa conter um ID exclusivo.

Dependendo do tipo de veiculação on-line configurada para sua loja on-line, é possível exibir valores de atributos de uma das seguintes maneiras:

Antes de começar

Faça a autenticação na Vertex AI, a menos que já tenha feito isso.

Select the tab for how you plan to use the samples on this page:

Python

Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.

  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.

Confira mais informações em Set up authentication for a local development environment.

REST

Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

    gcloud init

Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Buscar valores de atributos usando a veiculação on-line do Bigtable

Você pode usar a veiculação on-line do Bigtable para fazer o seguinte:

Buscar valores de atributos de uma única entidade

Use o exemplo a seguir para buscar valores de recursos com base em um ID de entidade específico usando a veiculação on-line do Bigtable.

REST

Para buscar todos os valores mais recentes de recursos de um ID de entidade específico de uma instância FeatureView, envie uma solicitação POST usando featureViews. .fetchFeatureValues.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.
  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.
  • ENTITY_ID: o valor da coluna "ID" no registro de recurso do qual você quer exibir os valores de atributos mais recentes.
  • FORMAT: opcional. O formato em que você que buscar os valores dos recursos. Os seguintes formatos são compatíveis:
    • KEY_VALUE
    • PROTO_STRUCT

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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

Você receberá uma resposta JSON semelhante a esta:

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

Use o exemplo a seguir para buscar valores de recursos com base em um ID de entidade específico usando a veiculação on-line do 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,
  )
)

Substitua:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.

  • PROJECT_ID: o ID do projeto.

  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.

  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.

  • ENTITY_ID: o valor da coluna "ID" no registro de recurso do qual você quer exibir os valores de atributos mais recentes.

  • FORMAT: opcional. O formato em que você que buscar os valores dos recursos. Os formatos com suporte incluem os formatos de par JSON KEY_VALUE e PROTO_STRUCT proto.

Buscar valores de recursos de um conjunto de entidades

Use o exemplo a seguir para buscar valores de recursos especificando um conjunto de IDs de várias colunas de ID de entidade usando a veiculação on-line do Bigtable.

REST

Para buscar todos os valores mais recentes de recursos de um ID de entidade específico a partir de uma instância FeatureView, envie uma solicitação POST usando o método featureViews.fetchFeatureValues.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.
  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.
  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 e ENTITY_ID_4: o conjunto de valores das colunas de ID nos registros de atributo dos quais você quer veicular os valores de atributos mais recentes. Agrupar os IDs de entidade como várias listas aninhadas em uma solicitação pode ajudar a reduzir a latência, já que a Vertex AI Feature Store executa uma operação de leitura separada para cada lista aninhada de IDs.

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

Corpo JSON da solicitação:

[
  {
    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 a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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

Você receberá uma resposta JSON semelhante a esta:

[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

.

Use o exemplo a seguir para buscar valores de recursos em várias colunas de ID de entidade usando a veiculação on-line do 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]

Substitua:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.

  • PROJECT_ID: o ID do projeto.

  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.

  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.

  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 e ENTITY_ID_4: os IDs de entidade dos quais você quer veicular os valores os valores de atributo mais recentes. Agrupar os IDs de entidade como várias listas aninhadas em uma solicitação pode ajudar a reduzir a latência, já que a Vertex AI Feature Store executa uma operação de leitura separada para cada lista aninhada de IDs.

Buscar valores de atributos usando a veiculação on-line otimizada em um endpoint público

Se você configurou a instância da loja on-line para mostrar valores de atributos usando a exibição on-line otimizada de um endpoint público, execute as etapas a seguir para buscar os valores de uma visualização de atributos na interface on-line armazenar:

  1. Recupere o nome de domínio do endpoint público da instância FeatureOnlineStore.

  2. Buscar valores de atributos de um ID de entidade usando o nome de domínio do endpoint público.

Recuperar o nome de domínio do endpoint público da loja on-line

Quando você cria e configura uma instância de loja on-line para exibição on-line otimizada com um endpoint público, o Feature Store da Vertex AI gera o nome de domínio do endpoint público para a loja on-line. Antes de começar a exibir valores de recursos de uma visualização de recursos na loja on-line, é necessário recuperar o nome de domínio do endpoint público dos detalhes da loja on-line.

Use o exemplo a seguir para recuperar os detalhes de uma instância de loja on-line.

REST

Para recuperar os detalhes de umFeatureOnlineStore recurso em seu projeto, envie umGET usando a featureOnlineStores.get.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da instância da loja on-line.

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte 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

execute o seguinte 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

Você receberá uma resposta JSON semelhante a esta:

{
  "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": {}
}

Você vai precisar do PUBLIC_ENDPOINT_DOMAIN_NAME da resposta para buscar valores de recursos na etapa a seguir.

Buscar valores de atributos de um ID de entidade

Depois de recuperar o nome de domínio do endpoint público da instância de armazenamento on-line, use o exemplo a seguir para buscar valores de atributo de um ID de entidade específico usando a exibição on-line otimizada.

REST

Para buscar todos os valores mais recentes de recursos de um ID de entidade específico de uma instância FeatureView, envie uma solicitação POST usando o método featureViews.fetchFeatureValues.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: o nome de domínio do endpoint público da instância de loja on-line recuperada usando o método featureOnlineStores.get.
  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.
  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.
  • ENTITY_ID: o valor da coluna "ID" no registro de recurso do qual você quer exibir os valores de atributos mais recentes.
  • FORMAT (opcional): o formato usado para buscar os valores dos atributos. Os seguintes formatos são compatíveis:
    • KEY_VALUE
    • PROTO_STRUCT

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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

Você receberá uma resposta JSON semelhante a esta:

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

Use o exemplo a seguir para buscar valores de recursos com base em um ID de entidade específico usando a disponibilização on-line otimizada.

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,
  )
)

Substitua:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: o nome de domínio do endpoint público da instância de loja on-line recuperada usando o método featureOnlineStores.get.

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.

  • PROJECT_ID: o ID do projeto.

  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.

  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.

  • ENTITY_ID: o valor da coluna "ID" no registro de recurso do qual você quer exibir os valores de atributos mais recentes.

  • FORMAT: opcional. O formato em que você que buscar os valores dos recursos. Os formatos com suporte incluem os formatos de par JSON KEY_VALUE e PROTO_STRUCT proto.

Buscar valores de atributos usando a veiculação on-line otimizada de um endpoint do Private Service Connect

Se você configurou a instância da loja on-line para exibir valores de recursos usando a exibição on-line otimizada de um endpoint do Private Service Connect, execute as etapas a seguir para buscar os valores de recursos de uma visualização de recursos no{101 }loja on-line:

  1. Recupere a configuração do Private Service Connect para a instância FeatureOnlineStore.

  2. Adicione um endpoint do Private Service Connect à configuração de sua rede.

  3. Conecte-se ao endpoint do Private Service Connect por gRPC.

  4. Buscar valores de recursos de um ID de entidade.

Recupere a string de anexo de serviço da loja on-line

Quando você cria e configura uma instância de loja on-line para exibição on-line otimizada com um endpoint do Private Service Connect, a Vertex AI Feature Store gera uma string de anexo de serviço que pode ser usada para configurar o endpoint do Private Service Connect. Você pode recuperar a string de anexo de serviço nos detalhes da loja on-line.

Use o exemplo a seguir para recuperar os detalhes de uma instância de loja on-line.

REST

Para recuperar os detalhes de umFeatureOnlineStore recurso em seu projeto, envie umGET usando a featureOnlineStores.get.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.
  • PROJECT_ID: o ID do projeto.
  • FEATUREONLINESTORE_NAME: o nome da instância da loja on-line.

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte 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

execute o seguinte 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

Você receberá uma resposta JSON semelhante a esta:

{
  "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": {}
}

Você vai precisar do SERVICE_ATTACHMENT_STRING da resposta para buscar valores de recursos na etapa a seguir.

Adicionar um endpoint ao Private Service Connect

Para adicionar um endpoint do Private Service Connect para exibição on-line otimizada à configuração de rede, siga estas etapas:

  1. No console do Google Cloud, selecione o projeto que contém a instância de loja on-line.

  2. Crie um endpoint para o Private Service Connect. Para isso, especifique SERVICE_ATTACHMENT_STRING como o serviço de destino. Para informações sobre como criar um endpoint para o Private Service Connect, consulte Criar um endpoint.

Depois de criar o endpoint, ele aparece na guia Endpoints conectados na página Private Service Connect. O endereço IP do endpoint aparece na coluna Endereços IP.

Acessar a guia "Endpoints conectados"

Você precisará usar esse endereço IP para se conectar ao endpoint da sua instância de loja on-line ao endpoint do Private Service Connect pelo gRPC na próxima etapa.

Conecte-se ao endpoint do Private Service Connect pelo gRPC

Use o exemplo de código a seguir para se conectar ao endpoint do Private Service Connect criado para sua loja on-line por 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")
  )
)

Substitua:

  • ENDPOINT_IP: o endereço IP do endpoint na coluna Endereços IP na página Private Service Connect.

Buscar valores de atributos de um ID de entidade

Depois de se conectar ao endpoint do Private Service Connect pelo gRPC, use o exemplo a seguir para buscar valores de recursos para um ID de entidade específico usando a veiculação on-line otimizada.

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,
  )
)

Substitua:

  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.

  • PROJECT_ID: o ID do projeto.

  • FEATUREONLINESTORE_NAME: o nome da loja on-line que contém a visualização do recurso.

  • FEATUREVIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.

  • ENTITY_ID: o valor da coluna "ID" no registro de recurso do qual você quer exibir os valores de atributos mais recentes.

  • FORMAT: opcional. O formato em que você que buscar os valores dos recursos. Os formatos compatíveis incluem par de chave-valor JSON e formatos proto Struct. O formato proto Struct não é aceito com o tipo de valor de recurso bytes. Se você quiser buscar valores de recursos formatados como bytes, use JSON como formato de resposta.

.

A seguir