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 :
Ressources CustomJob
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 :
Ressources BatchPredictionJob
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.
Ressources HyperparameterTuningJob
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
ouModel
.
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.