Étiquetage de ressources par Vertex AI Pipelines

Selon le type de composant, la ressource et la version du SDK des composants de pipeline Google Cloud, Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources générées à partir des composants de pipeline Google Cloud ou vous oblige à étiqueter les ressources générées. Pour les composants définis par l'utilisateur, vous devez créer votre code de composant pour associer les étiquettes d'une variable d'environnement. Pour en savoir plus, consultez la section Ressources générées à partir de composants définis par l'utilisateur.

Ressources avec étiquetage automatique

Vertex AI Pipelines ajoute automatiquement des étiquettes aux ressources suivantes, quelle que soit la version du SDK des composants de pipeline Google Cloud :

CustomJob ressources

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources CustomJob. Cette fonction est prise en charge par les composants suivants dans toutes les versions du SDK des composants de pipeline Google Cloud :

Ressources avec étiquetage automatique dans le SDK des composants de pipeline Google Cloud version 1.0.31 ou ultérieure

Vertex AI Pipelines ajoute automatiquement des étiquettes aux ressources suivantes si vous utilisez le SDK des composants de pipeline Google Cloud version 1.0.31 ou ultérieure :

BatchPredictionJob ressources

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources BatchPredictionJob générées à partir du composant ModelBatchPredictOp si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud.

Ressources endpoint Vertex AI

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources endpoint Vertex AI générées à partir du composant EndpointCreateOp si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud.

HyperparameterTuningJob ressources

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources HyperparameterTuningJob générées à partir du composant HyperparameterTuningJobRunOp si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud.

Ressources d'ensemble de données Vertex AI

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources d'ensemble de données Vertex AI générées à partir des composants Vertex AI suivants si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud :

Ressources de job BigQuery Google Cloud

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources de job BigQuery Google Cloud générées à partir de l'un des composants BigQuery ML si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud.

Ressources de job Google Cloud Dataproc

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources de job Google Cloud Dataproc générées à partir de l'un des composants sans serveur Dataproc si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud.

Ressources TrainingPipeline et Model

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources TrainingPipeline et Model générées à partir des composants AutoML suivants si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud :

Ressources de table BigQuery Google Cloud

Vertex AI Pipelines propage automatiquement les étiquettes de votre exécution de pipeline aux ressources de table BigQuery Google Cloud générées à partir du composant ForecastingPreprocessingOp si vous utilisez la version 1.0.31 ou une version ultérieure du SDK des composants de pipeline Google Cloud.

Ressources sans étiquetage automatique

Vertex AI Pipelines n'ajoute pas automatiquement d'étiquette aux ressources suivantes, quelle que soit la version du SDK des composants de pipeline Google Cloud :

Ressources Google Cloud Dataflow

Vertex AI Pipelines n'ajoute pas automatiquement d'étiquette aux ressources Dataflow générées par le composant DataflowPythonJobOp. Vous pouvez inclure des instructions dans votre code pour étiqueter les ressources.

Utilisez l'exemple de code suivant pour propager les étiquettes de facturation de votre exécution de pipeline à une ressource Google Cloud Dataflow générée à l'aide du composant DataflowPythonJobOp :

  import argparse
  import apache_beam as beam
  ...
  def run(argv=None):
    parser = argparse.ArgumentParser()
    # Don't add `--labels` to the argument list, so that they will be passed to the pipeline_options 
    parser.add_argument('--input', )
    parser.add_argument('--output', )
  ...
    known_args, pipeline_args = parser.parse_known_args(argv)
    pipeline_options = PipelineOptions(pipeline_args)
    with beam.Pipeline(options=pipeline_options) as p:

Ressources générées à partir de composants définis par l'utilisateur

Vertex AI Pipelines n'ajoute pas automatiquement d'étiquette aux ressources Google Cloud générées à partir de composants définis par l'utilisateur. Vous pouvez inclure des instructions dans votre code pour récupérer les étiquettes à partir de la variable d'environnement VERTEX_AI_PIPELINES_RUN_LABELS et les associer aux ressources Google Cloud générées à l'aide du composant lors de l'exécution.

La variable d'environnement VERTEX_AI_PIPELINE_RUN_LABELS contient les étiquettes au format JSON sous forme de paires clé/valeur.

Par exemple : { "label1_key": "label1_value", "label2_key": "label2_value", ...}

Si vous utilisez le SDK Vertex AI pour Python, utilisez l'exemple de code suivant dans votre code de composant pour propager les étiquettes de la variable d'environnement à une nouvelle ressource générée à partir du composant :

import os
import json
from google.cloud import aiplatform

aiplatform.init(
  project='PROJECT_ID',
  location='LOCATION'
)

aiplatform.RESOURCE.create(
  ...
  json.loads(os.getenv("VERTEX_AI_PIPELINES_RUN_LABELS"))
)

Remplacez les éléments suivants :

  • PROJECT_ID : projet Google Cloud dans lequel ce pipeline s'exécute.

  • LOCATION : emplacement ou région dans lequel ce pipeline s'exécute.

  • RESOURCE : ressource Google Cloud générée à partir du composant, par exemple CustomJob ou Model.

Vous pouvez également utiliser l'utilitaire gcp_labels_util.attach_system_labels si vous souhaitez utiliser Python pour analyser la variable d'environnement. Vous ne pouvez utiliser cet utilitaire que si vous avez accès à la bibliothèque des composants de pipeline Google Cloud et que vous utilisez Python. Pour en savoir plus, consultez le code source de la fonction utilitaire dans GitHub.

Ressources sans prise en charge de l'étiquetage

Vertex AI Pipelines ne prend pas en charge la propagation des étiquettes de facturation vers les ressources suivantes :

Ressources de métadonnées de ML

Les ressources de métadonnées de ML sont facturées au niveau du magasin. Vous ne pouvez pas utiliser les étiquettes de facturation pour comprendre le coût au niveau des ressources.

Ressources Cloud Storage

Vertex AI Pipelines ne propage pas les libellés de facturation dans les ressources Cloud Storage, telles que les buckets Cloud Storage.

Étapes suivantes