Mettre à jour une vue de caractéristiques

Vous pouvez mettre à jour une vue de caractéristiques pour modifier la liste des sources de données de caractéristiques qui lui sont associées. Par exemple, vous pouvez effectuer les mises à jour suivantes :

  • Associez un groupe de caractéristiques et des fonctionnalités différentes, ou un ensemble de fonctionnalités différent du même groupe de fonctionnalités.

  • Spécifiez une table ou une vue BigQuery différente contenant les données de caractéristique. Notez que, dans ce cas, vous devez également spécifier une ou plusieurs colonnes d'ID d'entité à partir de la source de données mise à jour.

  • Spécifiez un autre ensemble de colonnes d'ID d'entité à partir de la même source de données BigQuery.

Lors de la création ou de la mise à jour d'une vue de caractéristiques, vous avez la possibilité d'ajouter des métadonnées définies par l'utilisateur sous forme de libellés à la vue de caractéristiques. Pour en savoir plus sur la mise à jour des libellés définis par l'utilisateur pour une vue de caractéristiques, consultez la page Mettre à jour les libellés d'une vue de caractéristiques.

Avant de commencer

Authentifiez-vous auprès de Vertex AI, sauf si vous l'avez déjà fait.

Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

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

    gcloud init

Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Mettre à jour une vue de caractéristiques basée sur un groupe de caractéristiques

Utilisez l'exemple suivant pour mettre à jour une vu des caractéristiques en spécifiant les caractéristiques d'un groupe de caractéristiques existant.

REST

Pour mettre à jour une ressource FeatureView, envoyez une requête PATCH à l'aide de la méthode featureViews.patch.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION_ID : région où se trouve la boutique en ligne, par exemple us-central1.
  • PROJECT_ID : ID de votre projet
  • FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de caractéristiques.
  • FEATUREVIEW_NAME : nom de la vue de caractéristiques que vous souhaitez mettre à jour.
  • FEATUREGROUP_NAME : nom du groupe de caractéristiques que vous souhaitez associer à la vue de caractéristiques.
  • FEATURE_ID_1 et FEATURE_ID_2 : ID de caractéristiques que vous souhaitez ajouter à la vue de caractéristiques à partir du groupe de caractéristiques FEATUREGROUP_NAME.

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "feature_registry_source":
    { "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME",
        "feature_ids": [ "FEATURE_ID_1", "FEATURE_ID_2" ]
      }
    ]
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X PATCH \
-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"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Invoke-WebRequest `
-Method PATCH `
-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" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T04:53:22.794004Z",
      "updateTime": "2023-09-15T04:53:22.794004Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.FeatureView",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
  }
}

Mettre à jour une vue de caractéristiques basée sur une source BigQuery

Utilisez l'exemple suivant pour mettre à jour une vue de caractéristiques en spécifiant des colonnes de caractéristiques à partir d'une table ou d'une vue BigQuery.

REST

Pour mettre à jour une instance FeatureView basée sur une source de données BigQuery, envoyez une requête PATCH en utilisant la méthode featureViews.patch.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION_ID : région où se trouve la boutique en ligne, par exemple us-central1.
  • PROJECT_ID : ID de votre projet
  • FEATUREONLINESTORE_NAME : nom de la boutique en ligne contenant la vue de caractéristiques.
  • FEATUREVIEW_NAME : nom de la vue de caractéristiques que vous souhaitez mettre à jour.
  • BIGQUERY_SOURCE_URI : URI de la table ou de la vue BigQuery contenant les données de caractéristique.
  • ENTITY_ID_COLUMNS :
  • ENTITY_ID_COLUMNS : noms de la ou des colonnes contenant les ID d'entité. Vous pouvez spécifier une ou plusieurs colonnes.
    • Pour ne spécifier qu'une seule colonne d'ID d'entité, spécifiez le nom de la colonne au format suivant :
      "entity_id_column_name".
    • Pour spécifier plusieurs colonnes d'ID d'entité, spécifiez les noms de colonne au format suivant :
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "big_query_source":
  {
    "uri": "BIGQUERY_SOURCE_URI",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X PATCH \
-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"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Invoke-WebRequest `
-Method PATCH `
-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" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T04:53:34.832192Z",
      "updateTime": "2023-09-15T04:53:34.832192Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.FeatureView",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
  }
}

Étapes suivantes