Gestisci le caratteristiche dal negozio online

Vertex AI Feature Store consente di pubblicare i valori delle caratteristiche online in tempo reale da una visualizzazione delle caratteristiche all'interno di un negozio online. Ad esempio, puoi fornire valori di caratteristiche da una visualizzazione delle caratteristiche per le previsioni online. Una visualizzazione delle caratteristiche deve essere sincronizzati almeno una volta prima di poter pubblicare le caratteristiche online da quella caratteristica.

Se la visualizzazione delle caratteristiche è definita in base a gruppi di caratteristiche e caratteristiche, Vertex AI Feature Store recupera gli ultimi valori delle caratteristiche corrispondenti a un ID entità specifico. Se ci sono più record con lo stesso valore nel colonna ID, Vertex AI Feature Store recupera il valore non null più recente i valori delle caratteristiche, in base alla colonna feature_timestamp.

Se la visualizzazione delle caratteristiche è direttamente associata a un dato BigQuery il codice sorgente senza associare gruppi di caratteristiche e caratteristiche, quindi Vertex AI Feature Store recupera tutti i valori delle caratteristiche dall'origine dati. In questo caso, ogni riga in l'origine dati deve contenere un ID univoco.

A seconda del tipo di pubblicazione online configurata per il tuo negozio online, possono pubblicare i valori delle caratteristiche in uno dei seguenti modi:

Prima di iniziare

Autentica in Vertex AI, a meno che tu non l'abbia già fatto.

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

Python

Per utilizzare gli Python esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Installa Google Cloud CLI.
  2. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  3. Crea credenziali di autenticazione locali per il tuo Account Google:

    gcloud auth application-default login

Per ulteriori informazioni, vedi Set up authentication for a local development environment.

REST

Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

    Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

    gcloud init

Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Recuperare i valori delle caratteristiche utilizzando la distribuzione online di Bigtable

Puoi utilizzare la distribuzione online di Bigtable per:

Recupera i valori delle caratteristiche per una singola entità

Utilizza il seguente esempio per recuperare i valori delle caratteristiche in base a un ID entità specifico usando la distribuzione online di Bigtable.

REST

Per recuperare tutti i valori più recenti delle caratteristiche per uno specifico ID entità da un FeatureView, invia una richiesta POST utilizzando featureViews.fetchFeatureValues .

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.
  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.
  • ENTITY_ID: il valore della colonna ID nel record delle caratteristiche in cui vuoi pubblicare i valori più recenti delle caratteristiche.
  • FORMAT: (facoltativo) il formato in cui vuoi recuperare i valori delle caratteristiche. I formati supportati includono i formati di coppie chiave-valore JSON e di protocollo Struct.

Metodo 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 della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Dovresti ricevere una risposta JSON simile alla seguente:

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 l'esempio seguente per recuperare i valori delle caratteristiche in base a un ID entità specifico utilizzando la pubblicazione online di 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,
  )
)

Sostituisci quanto segue:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.

  • PROJECT_ID: l'ID progetto.

  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.

  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.

  • ENTITY_ID: il valore della colonna ID nel record delle caratteristiche in cui vuoi pubblicare i valori più recenti delle caratteristiche.

  • FORMAT: (facoltativo) il formato in cui vuoi recuperare i valori delle caratteristiche. I formati supportati includono i formati JSON KEY_VALUE e protocollo PROTO_STRUCT.

Recupera i valori delle caratteristiche per un insieme di entità

Utilizza il seguente esempio per recuperare i valori delle caratteristiche specificando un insieme di ID da più colonne di ID entità usando la distribuzione online di Bigtable.

REST

Per recuperare tutti i valori più recenti delle caratteristiche per uno specifico ID entità da un FeatureView, invia una richiesta POST utilizzando featureViews.streamingFetchFeatureValues .

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.
  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.
  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 e ENTITY_ID_4: L'insieme di valori delle colonne ID nei record delle caratteristiche da cui vuoi pubblicare gli attributi gli ultimi valori delle caratteristiche. Tieni presente che raggruppare gli ID entità come più elenchi nidificati in una richiesta può contribuire a ridurre la latenza, poiché Vertex AI Feature Store esegue un'operazione di lettura separata ogni elenco nidificato di ID.

Metodo 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 della richiesta:

[
  {
    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"
  }
]

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Dovresti ricevere una risposta JSON simile alla seguente:

[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 il seguente esempio per recuperare i valori delle caratteristiche da più colonne di ID entità utilizzando la pubblicazione online di 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]

Sostituisci quanto segue:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.

  • PROJECT_ID: l'ID progetto.

  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.

  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.

  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3 e ENTITY_ID_4: gli ID entità da cui vuoi pubblicare i valori più recenti delle caratteristiche. Tieni presente che raggruppare gli ID entità come più elenchi nidificati in una richiesta può aiutare a ridurre la latenza, Vertex AI Feature Store esegue un'operazione di lettura separata per ogni elenco nidificato di ID.

Recuperare i valori delle caratteristiche utilizzando la pubblicazione online ottimizzata da un endpoint pubblico

Se hai configurato l'istanza del negozio online per pubblicare valori delle caratteristiche utilizzando Hai ottimizzato la pubblicazione online da un endpoint pubblico. Poi devi eseguire i seguenti passaggi per recuperare i valori delle caratteristiche da una visualizzazione delle caratteristiche all'interno del negozio online:

  1. Recupera il nome di dominio dell'endpoint pubblico per l'istanza FeatureOnlineStore.

  2. Recupera i valori delle caratteristiche da un ID entità utilizzando il nome di dominio dell'endpoint pubblico.

Recupera il nome di dominio dell'endpoint pubblico per l'archivio online

Quando crei e configuri un'istanza di un negozio online Pubblicazione online ottimizzata con un endpoint pubblico, Vertex AI Feature Store genera il nome di dominio dell'endpoint pubblico per l'archivio online. Prima di poter iniziare a fornire i valori delle caratteristiche da una visualizzazione delle caratteristiche nel negozio online, è necessario per recuperare il nome di dominio dell'endpoint pubblico dai dettagli dell'archivio online.

Utilizza l'esempio seguente per recuperare i dettagli di un'istanza del negozio online.

REST

Per recuperare i dettagli di una risorsa FeatureOnlineStore nel tuo progetto, invia un GET utilizzando il comando featureOnlineStores.get .

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Ti servirà il PUBLIC_ENDPOINT_DOMAIN_NAME della risposta a Recupera i valori delle caratteristiche nel seguente passaggio.

Recupera i valori delle caratteristiche da un ID entità

Dopo aver recuperato il nome di dominio dell'endpoint pubblico per l'istanza del negozio online, utilizza il seguente esempio per recuperare i valori delle caratteristiche per uno specifico ID entità usando la pubblicazione online ottimizzata.

REST

Per recuperare tutti i valori più recenti delle caratteristiche per uno specifico ID entità da un FeatureView, invia una richiesta POST utilizzando featureViews.fetchFeatureValues .

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: il nome di dominio dell'endpoint pubblico per l'istanza del negozio online recuperato utilizzando il metodo featureOnlineStores.get.
  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.
  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.
  • ENTITY_ID: il valore della colonna ID nel record delle caratteristiche in cui vuoi pubblicare i valori più recenti delle caratteristiche.
  • FORMAT: (facoltativo) il formato in cui vuoi recuperare i valori delle caratteristiche. I formati supportati includono i formati di coppie chiave-valore JSON e di protocollo Struct.

Metodo 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 della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Utilizza l'esempio seguente per recuperare i valori delle funzionalità in base a un ID entità specifico utilizzando la pubblicazione online ottimizzata.

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

Sostituisci quanto segue:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: il nome di dominio dell'endpoint pubblico per l'istanza del negozio online recuperato utilizzando il metodo featureOnlineStores.get.

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.

  • PROJECT_ID: l'ID progetto.

  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.

  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.

  • ENTITY_ID: il valore della colonna ID nel record delle caratteristiche in cui vuoi pubblicare i valori più recenti delle caratteristiche.

  • FORMAT: (facoltativo) il formato in cui vuoi recuperare i valori delle caratteristiche. I formati supportati includono i formati JSON KEY_VALUE e protocollo PROTO_STRUCT.

Recuperare i valori delle caratteristiche utilizzando la pubblicazione online ottimizzata da un endpoint Private Service Connect

Se hai configurato l'istanza del negozio online per pubblicare valori delle caratteristiche utilizzando È stata ottimizzata la pubblicazione online da un endpoint Private Service Connect, quindi devi eseguire i seguenti passaggi per recuperare i valori delle caratteristiche da una visualizzazione delle caratteristiche all'interno del negozio online:

  1. Recupera la configurazione di Private Service Connect per l'istanza FeatureOnlineStore.

  2. Aggiungi un endpoint per Private Service Connect alla tua configurazione di rete.

  3. Connettiti all'endpoint Private Service Connect tramite gRPC.

  4. Recupera i valori delle caratteristiche da un ID entità.

Recupera la stringa del collegamento al servizio per il negozio online

Quando crei e configuri un'istanza di un negozio online Pubblicazione online ottimizzata con un endpoint Private Service Connect, Vertex AI Feature Store genera una stringa di collegamento al servizio che puoi utilizzare per configurare l'endpoint Private Service Connect. Puoi recuperare la stringa del collegamento al servizio dai dettagli dell'archivio online.

Utilizza l'esempio seguente per recuperare i dettagli di un'istanza del negozio online.

REST

Per recuperare i dettagli di una risorsa FeatureOnlineStore nel tuo progetto, invia un GET utilizzando il comando featureOnlineStores.get .

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Ti servirà il SERVICE_ATTACHMENT_STRING della risposta per recuperare i valori delle caratteristiche nel passaggio successivo.

Aggiungi un endpoint per Private Service Connect

Per aggiungere alla tua rete un endpoint Private Service Connect per la pubblicazione online ottimizzata segui questi passaggi:

  1. Nella console Google Cloud, seleziona il progetto contenente il negozio online in esecuzione in un'istanza Compute Engine.

  2. Crea un endpoint per Private Service Connect tramite che specifica SERVICE_ATTACHMENT_STRING come Servizio di destinazione. Per informazioni su come creare un endpoint per Private Service Connect, consulta Creare un endpoint.

Una volta creato, l'endpoint viene visualizzato nella scheda Endpoint connessi la pagina Private Service Connect. L'indirizzo IP dell'endpoint compare in nella colonna Indirizzi IP.

Vai alla scheda Endpoint connessi

Dovrai utilizzare questo indirizzo IP per connetterti all'endpoint per di archiviazione online all'endpoint Private Service Connect su gRPC nel passaggio seguente.

Connettiti all'endpoint Private Service Connect tramite gRPC

Utilizza il seguente esempio di codice per connetterti all'endpoint Private Service Connect creato per il tuo negozio online tramite 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")
  )
)

Sostituisci quanto segue:

  • ENDPOINT_IP: l'indirizzo IP dell'endpoint nella colonna Indirizzi IP della pagina Private Service Connect.

Recupera i valori delle caratteristiche da un ID entità

Dopo aver stabilito la connessione all'endpoint Private Service Connect tramite gRPC, utilizza quanto segue per recuperare i valori delle caratteristiche per uno specifico ID entità utilizzando Pubblicazione online ottimizzata.

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

Sostituisci quanto segue:

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.

  • PROJECT_ID: l'ID progetto.

  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle caratteristiche.

  • FEATUREVIEW_NAME: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.

  • ENTITY_ID: il valore della colonna ID nel record delle caratteristiche in cui vuoi pubblicare i valori più recenti delle caratteristiche.

  • FORMAT: (facoltativo) il formato in cui vuoi recuperare i valori delle caratteristiche. I formati supportati includono i formati di coppie chiave-valore JSON e di protocollo Struct. Tieni presente che il formato proto Struct non supporta il tipo di valore della caratteristica byte. Se vuoi recuperare i valori delle caratteristiche formattati come byte, utilizza JSON come formato della risposta.

Passaggi successivi