Utiliser des variables d'environnement

Vous pouvez définir des variables d'environnement pour les workflows au moment du déploiement. Par exemple, vous pouvez créer un workflow configuré de manière dynamique en fonction de l'environnement dans lequel il est déployé. Vous pouvez également créer un workflow réutilisable en tant que modèle et configurable en fonction de variables d'environnement gérées séparément.

Les variables d'environnement sont définies sous forme de paires clé/valeur arbitraires de chaînes et sont accessibles par votre workflow au moment de l'exécution. Elles sont stockées dans le backend Workflows, sont limitées à l'exécution du workflow et sont immuables pendant l'exécution d'un workflow.

Les variables d'environnement sont liées au déploiement d'un workflow et ne peuvent être définies ou modifiées que lors d'un déploiement. Pour créer ou modifier une variable d'environnement, le déploiement doit avoir réussi. Si un déploiement échoue pour une raison quelconque, les modifications apportées aux variables d'environnement ne sont pas appliquées.

Vous pouvez ajouter, modifier ou supprimer des variables d'environnement définies par l'utilisateur à l'aide de Google Cloud CLI.

Noms réservés

Les variables d'environnement intégrées définies pour les workflows sont réservées et ne peuvent pas être définies.

Notez que vous ne pouvez pas utiliser les éléments suivants lorsque vous définissez des variables d'environnement pour les workflows :

Clé Description
Vide ('') Les clés ne peuvent pas être des chaînes vides.
GOOGLE_ Les clés ne peuvent pas contenir le préfixe GOOGLE_.
WORKFLOWS_ Les clés ne peuvent pas contenir le préfixe WORKFLOWS_.

Définir des variables d'environnement

Vous pouvez définir de nouvelles variables ou remplacer des variables existantes lorsque vous déployez un workflow. Pour effectuer des modifications cumulatives, consultez plutôt Mettre à jour des variables d'environnement dans ce document.

Console

  1. Dans la console Google Cloud , accédez à la page Workflows :

    Accéder à "Workflows"

  2. Sur la page Workflows, cliquez sur Créer.

  3. Sur la page Créer un workflow, remplissez les champs appropriés pour configurer la définition de votre workflow.

  4. Dans la section Variables d'environnement (facultatif), cliquez sur Ajouter une variable.

  5. Dans le champ Nom 1, spécifiez le nom de la variable.

  6. Dans le champ Valeur 1, spécifiez la valeur de la variable.

  7. Pour ajouter une autre variable, cliquez sur Ajouter une variable.

  8. Cliquez sur Suivant.

  9. Après avoir défini votre workflow, cliquez sur Déployer pour le déployer.

gcloud

Pour définir une variable d'environnement, utilisez l'indicateur --set-env-vars :

gcloud workflows deploy WORKFLOW_NAME \
    --set-env-vars KEY1=VALUE1

Remplacez les éléments suivants :

  • WORKFLOW_NAME : ID de votre workflow.
  • KEY1=VALUE1 : nom de la variable d'environnement et sa valeur (par exemple, MONTH=January).

Terraform

Pour créer un workflow, utilisez la ressource google_workflows_workflow et modifiez votre fichier main.tf comme indiqué dans l'exemple. Pour en savoir plus, consultez Créer un workflow à l'aide de Terraform.

Utilisez l'argument user_env_vars pour associer une variable d'environnement à la révision du workflow.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

Définir plusieurs variables d'environnement

Pour définir plusieurs variables d'environnement, utilisez une liste d'éléments séparés par une virgule :

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Échapper les caractères de virgule

Comme la virgule (,) est utilisée pour délimiter les variables d'environnement, si vos valeurs de variables incluent des virgules, vous devez spécifier un caractère de délimitation différent, par exemple @ :

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2

Stocker les variables dans un fichier

Pour stocker vos variables dans un fichier (avec gestion des versions, par exemple), utilisez un fichier YAML et l'option --env-vars-file :

gcloud workflows deploy WORKFLOW_NAME \
      --env-vars-file FILE_PATH

Remplacez FILE_PATH par le chemin d'accès à un fichier YAML local qui liste les définitions de vos variables d'environnement. Notez que les noms et les valeurs des variables doivent être des chaînes. Tous les variables d'environnement existantes sont supprimées par Workflows avant l'ajout des nouvelles variables d'environnement.

Par exemple, le contenu du fichier YAML peut être le suivant :

KEY1: "value1"
KEY2: "value2"

Pour en savoir plus sur la commande deploy, consultez la page gcloud workflows deploy.

Accéder aux variables d'environnement

Pour accéder à une variable d'environnement, appelez la fonction sys.get_env() dans une expression, en transmettant le nom de la variable d'environnement d'environnement en tant que paramètre. Le nom de la variable d'environnement doit être transmis sous forme de chaîne.

Par exemple, le workflow suivant attribue la valeur de la variable d'environnement KEY1 à une variable de workflow appelée keyValue, puis affiche cette valeur :

main:
  steps:
    - init:
        assign:
          - keyValue: ${sys.get_env("KEY1")}
    - returnResult:
        return: ${keyValue}

Mettre à jour les variables d'environnement

Vous pouvez mettre à jour les variables d'environnement définies par l'utilisateur pour les workflows existants. Il s'agit d'une approche non destructrice, qui permet de modifier ou d'ajouter des variables d'environnement sans les supprimer.

Console

  1. Dans la console Google Cloud , accédez à la page Workflows.

    Accéder à "Workflows"

  2. Cliquez sur le nom du workflow que vous souhaitez mettre à jour.

    La page Détails du workflow s'affiche.

  3. Pour modifier une variable d'environnement existante, procédez comme suit :

    • Cliquez sur l'onglet Détails.

      1. À côté de Variables d'environnement, cliquez sur l'icône .
      2. Apportez les modifications souhaitées.
      3. Pour déployer le workflow mis à jour, cliquez sur Enregistrer.
    • Cliquez sur  Modifier.

      1. Dans la section Variables d'environnement (facultatif), apportez les modifications souhaitées.
      2. Pour déployer le workflow mis à jour, cliquez sur Suivant, puis sur Déployer.

gcloud

Pour mettre à jour une variable, utilisez l'option --update-env-vars :

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1

Pour mettre à jour plusieurs variables d'environnement, utilisez une liste d'éléments séparés par une virgule :

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Supprimer des variables d'environnement

Vous pouvez supprimer les variables d'environnement définies par l'utilisateur pour les workflows existants.

Console

  1. Dans la console Google Cloud , accédez à la page Workflows.

    Accéder à "Workflows"

  2. Cliquez sur le nom du workflow que vous souhaitez mettre à jour.

    La page Détails du workflow s'affiche.

  3. Pour supprimer une variable d'environnement existante, procédez comme suit :

    • Cliquez sur l'onglet Détails.

      1. Cliquez sur l' approprié.
      2. À côté de la variable d'environnement à supprimer, cliquez sur l'icône .
      3. Pour déployer le workflow mis à jour, cliquez sur Enregistrer.
    • Cliquez sur  Modifier.

      1. À côté de la variable d'environnement à supprimer, cliquez sur l'icône .
      2. Pour déployer le workflow mis à jour, cliquez sur Suivant, puis sur Déployer.

gcloud

Si vous souhaitez supprimer des variables d'environnement de manière sélective, utilisez l'indicateur --remove-env-vars :

gcloud workflows deploy WORKFLOW_NAME \
    --remove-env-vars KEY1,KEY2

Vous pouvez également effacer l'ensemble des variables d'environnement définies précédemment à l'aide de l'option --clear-env-vars :

gcloud workflows deploy WORKFLOW_NAME \
    --clear-env-vars

Bonnes pratiques

Il est déconseillé de modifier ou de dépendre de variables d'environnement que vous n'avez pas définies explicitement. Si vous modifiez des variables d'environnement autres que celles que vous avez définies explicitement, cela peut avoir des conséquences imprévues.

Gérer les secrets

Les variables d'environnement peuvent être utilisées pour configurer des workflows, mais elles ne sont pas recommandées pour stocker et utiliser des secrets tels que les identifiants de bases de données ou les clés API. Ces valeurs sensibles doivent être stockées séparément de votre code source et des variables d'environnement, et ne pas être envoyées par inadvertance aux journaux.

Pour stocker des secrets, nous vous recommandons de consulter les bonnes pratiques de gestion des secrets et de suivre les instructions pour utiliser Secret Manager avec Workflows.

Conventions d'attribution de noms

En règle générale, nous recommandons que les clés des variable d'environnement se composent uniquement de lettres majuscules, de chiffres et de traits de soulignement (_), et qu'elles ne commencent pas par un chiffre. Nous vous recommandons de préfixer vos variables d'environnement définies par l'utilisateur à l'aide d'une clé unique afin d'éviter tout conflit avec d'autres variables.

Limites de taille

Vous pouvez définir jusqu'à 20 variables d'environnement définies par l'utilisateur. Chaque chaîne de définition (KEY=value) est limitée à 4 Kio.

Étapes suivantes