Update a feature

Within a feature group, you can update a feature to associate it with a specific column in the BigQuery data source that's associated with the feature group.

While creating or updating a feature, you have the option to add user-defined metadata in the form of labels to the feature. For more information about how to update user-defined labels for a feature, see Update labels for a feature.

Use the following sample to update a feature within a feature group.

REST

To update a Feature resource, send a PATCH request by using the features.patch method.

Before using any of the request data, make the following replacements:

  • LOCATION_ID: Region where the feature group containing the feature is located, such as us-central1.
  • PROJECT_ID: Your project ID.
  • FEATURE_GROUP_NAME: The name of the feature group containing the feature.
  • FEATURE_NAME: The name of the feature you want to update.
  • VERSION_COLUMN_NAME: The column from the BigQuery source table or view that you want to associate while updating the feature.

HTTP method and URL:

PATCH https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features?feature_id=FEATURE_NAME

Request JSON body:

{
  "version_column_name": "VERSION_COLUMN_NAME"
}

To send your request, choose one of these options:

curl

Save the request body in a file named request.json, and execute the following command:

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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features?feature_id=FEATURE_NAME"

PowerShell

Save the request body in a file named request.json, and execute the following command:

$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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features?feature_id=FEATURE_NAME" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features/FEATURE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.UpdateFeatureOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T02:36:22.870679Z",
      "updateTime": "2023-09-18T02:36:22.870679Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.Feature",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features/FEATURE_NAME"
  }
}

What's next