Pubblicare funzionalità dal negozio online

Vertex AI Feature Store ti consente di pubblicare online i valori delle funzionalità in tempo reale da una vista delle funzionalità all'interno di un negozio online. Ad esempio, puoi pubblicare i valori delle caratteristiche da una vista delle caratteristiche per le previsioni online. Una vista delle funzionalità deve essere sincronizzata almeno una volta prima che tu possa pubblicare online le funzionalità da quella vista.

Se la visualizzazione delle funzionalità è definita in base a gruppi di funzionalità e funzionalità, Vertex AI Feature Store recupera i valori delle funzionalità più recenti corrispondenti a un ID entità specifico. Se nella colonna ID sono presenti più record con lo stesso valore, Vertex AI Feature Store recupera i valori delle funzionalità non nulli più recenti in base alla colonna feature_timestamp.

Se la vista delle funzionalità è associata direttamente a un'origine dati BigQuery senza associare gruppi di funzionalità e funzionalità, Vertex AI Feature Store recupera tutti i valori delle funzionalità dall'origine dati. In questo caso, ogni riga dell'origine dati deve contenere un ID univoco.

A seconda del tipo di pubblicazione online configurato per il tuo negozio online, puoi gestire i valori delle funzionalità in uno dei seguenti modi:

Prima di iniziare

Esegui l'autenticazione su Vertex AI, se non l'hai ancora 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 un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

  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.

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

REST

Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

    gcloud init

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

Recuperare i valori delle funzionalità utilizzando la pubblicazione online tramite Bigtable

Puoi utilizzare la distribuzione online tramite Bigtable per:

Recuperare i valori delle funzionalità per una singola entità

Utilizza il seguente esempio per recuperare i valori delle funzionalità in base a un ID entità specifico utilizzando la pubblicazione online di Bigtable.

REST

Per recuperare tutti i valori delle funzionalità più recenti per un ID entità specifico da un'istanza FeatureView, invia una richiesta POST utilizzando il metodo featureViews.fetchFeatureValues.

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

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID del tuo progetto.
  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle funzionalità.
  • 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 della funzionalità da cui vuoi pubblicare i valori più recenti.
  • FORMAT: (Facoltativo) Il formato in cui vuoi recuperare i valori delle funzionalità. Sono supportati i seguenti formati:
    • KEY_VALUE
    • PROTO_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: { 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, quindi esegui il comando seguente:

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, quindi esegui il comando seguente:

$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

Utilizza il seguente esempio per recuperare i valori delle funzionalità in base a un ID entità specifico utilizzando il servizio online 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 del tuo progetto.

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

  • 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 della funzionalità da cui vuoi pubblicare i valori più recenti.

  • FORMAT: (Facoltativo) Il formato in cui vuoi recuperare i valori delle funzionalità. I formati supportati includono le coppie JSON KEY_VALUE e proto PROTO_STRUCT.

Recupera i valori delle caratteristiche per un insieme di entità

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

REST

Per recuperare tutti i valori delle funzionalità più recenti per un ID entità specifico da un'istanza FeatureView, invia una richiesta POST utilizzando il metodo featureViews.streamingFetchFeatureValues.

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

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID del tuo progetto.
  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle funzionalità.
  • 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 funzionalità da cui vuoi pubblicare i valori più recenti delle funzionalità. 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 per 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, quindi esegui il comando seguente:

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, quindi esegui il comando seguente:

$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

Utilizza il seguente esempio per recuperare i valori delle funzionalità 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 del tuo progetto.

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

  • 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 delle funzionalità più recenti. 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 per ogni elenco nidificato di ID.

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

Se hai configurato l'istanza del tuo archivio online per pubblicare i valori delle funzionalità utilizzando la pubblicazione online ottimizzata da un endpoint pubblico, devi eseguire i seguenti passaggi per recuperare i valori delle funzionalità da una vista delle funzionalità all'interno dell'archivio online:

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

  2. Recupero dei valori delle funzionalità da un ID entità utilizzando il nome di dominio dell'endpoint pubblico.

Recupera il nome di dominio dell'endpoint pubblico per il negozio online

Quando crei e configuri un'istanza del negozio online per l'erogazione online ottimizzata con un endpoint pubblico, Vertex AI Feature Store genera il nome di dominio dell'endpoint pubblico per il negozio online. Prima di poter iniziare a pubblicare i valori delle funzionalità da una vista delle funzionalità nel negozio online, devi recuperare il nome di dominio dell'endpoint pubblico dai dettagli del negozio online.

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

REST

Per recuperare i dettagli di una risorsa FeatureOnlineStore nel progetto, invia una richiesta GET utilizzando il metodo featureOnlineStores.get.

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

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID del tuo 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 valore PUBLIC_ENDPOINT_DOMAIN_NAME della risposta per recuperare i valori delle funzionalità nel passaggio successivo.

Recuperare i valori delle funzionalità 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 funzionalità per un ID entità specifico utilizzando la pubblicazione online ottimizzata.

REST

Per recuperare tutti i valori delle funzionalità più recenti per un ID entità specifico da un'istanza FeatureView, invia una richiesta POST utilizzando il metodo featureViews.fetchFeatureValues.

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

  • PUBLIC_ENDPOINT_DOMAIN_NAME: il nome di dominio dell'endpoint pubblico per l'istanza del negozio online recuperata utilizzando il metodo featureOnlineStores.get.
  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID del tuo progetto.
  • FEATUREONLINESTORE_NAME: il nome del negozio online contenente la visualizzazione delle funzionalità.
  • 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 della funzionalità da cui vuoi pubblicare i valori più recenti.
  • FORMAT: facoltativo. Il formato utilizzato per recuperare i valori delle funzionalità. Sono supportati i seguenti formati:
    • KEY_VALUE
    • PROTO_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: { 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, quindi esegui il comando seguente:

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, quindi esegui il comando seguente:

$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 il seguente esempio 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 recuperata utilizzando il metodo featureOnlineStores.get.

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

  • PROJECT_ID: l'ID del tuo progetto.

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

  • 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 della funzionalità da cui vuoi pubblicare i valori più recenti.

  • FORMAT: (Facoltativo) Il formato in cui vuoi recuperare i valori delle funzionalità. I formati supportati includono le coppie JSON KEY_VALUE e proto PROTO_STRUCT.

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

Se hai configurato l'istanza del tuo negozio online per pubblicare i valori delle funzionalità utilizzando la pubblicazione online ottimizzata da un endpoint Private Service Connect, devi eseguire i seguenti passaggi per recuperare i valori delle funzionalità da una vista delle funzionalità all'interno del negozio online:

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

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

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

  4. Recupero dei valori delle funzionalità da un ID entità.

Recupera la stringa di allegato del servizio per il negozio online

Quando crei e configuri un'istanza del negozio online per la pubblicazione online ottimizzata con un endpoint Private Service Connect, Vertex AI Feature Store genera una stringa di collegamento ai servizi che puoi utilizzare per configurare l'endpoint Private Service Connect. Puoi recuperare la stringa di allegato del servizio dai dettagli dello store online.

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

REST

Per recuperare i dettagli di una risorsa FeatureOnlineStore nel progetto, invia una richiesta GET utilizzando il metodo featureOnlineStores.get.

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

  • LOCATION_ID: regione in cui si trova il negozio online, ad esempio us-central1.
  • PROJECT_ID: l'ID del tuo 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": {}
}

Nel passaggio successivo avrai bisogno di SERVICE_ATTACHMENT_STRING dalla risposta per recuperare i valori delle funzionalità.

Aggiungere un endpoint per Private Service Connect

Per aggiungere un endpoint Private Service Connect per la pubblicazione online ottimizzata alla configurazione della rete, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, seleziona il progetto contenente l'istanza del negozio online.

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

Dopo averlo creato, l'endpoint viene visualizzato nella scheda Endpoint collegati della pagina Private Service Connect. L'indirizzo IP dell'endpoint viene visualizzato nella colonna Indirizzi IP.

Vai alla scheda Endpoint connessi

Dovrai utilizzare questo indirizzo IP per connetterti all'endpoint per l'istanza del tuo negozio online all'endpoint Private Service Connect tramite gRPC nel passaggio successivo.

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.

Recuperare i valori delle funzionalità da un ID entità

Dopo aver eseguito la connessione all'endpoint Private Service Connect tramite gRPC, utilizza il seguente esempio per recuperare i valori delle funzionalità per un ID entità specifico utilizzando la 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 del tuo progetto.

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

  • 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 della funzionalità da cui vuoi pubblicare i valori più recenti.

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

Passaggi successivi