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 qui peut être réutilisé comme modèle configurés en fonction de variables d'environnement gérées séparément.

Les variables d'environnement sont définies sous la forme de paires clé/valeur arbitraires accessibles par votre workflow lors 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.

Toutes 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. Créer ou modifier un environnement nécessite un déploiement 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, mettre à jour 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 Workflows:

Clé Description
Vide ('') Les clés ne peuvent pas être une chaîne vide.
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 lors du déploiement d'un du workflow. Pour apporter des modifications additives, consultez plutôt la section Mettre à jour des variables d'environnement de ce document.

Console

  1. Dans Google Cloud Console, 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. Une fois votre workflow défini, 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 plus d'informations, voir 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 la page Commandes Terraform de base.

Définir plusieurs variables d'environnement

Pour définir plusieurs variables d'environnement, utilisez une liste séparée par des virgules :

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 les valeurs de vos variables comprennent des virgules, vous devez spécifier un délimiteur 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 (par exemple, avec gestion des versions), 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. Toutes les variables d'environnement existantes sont supprimées par les workflows avant que les nouvelles variables d'environnement ne soient ajoutées.

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 fonction sys.get_env() dans un , en transmettant le nom de la variable 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 renvoie 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, effectuez l'une des opérations suivantes:

    • 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), effectuez 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 séparée par des virgules :

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, effectuez l'une des opérations suivantes:

    • Cliquez sur l'onglet Détails.

      1. Cliquez sur l' appropriée.
      2. À côté de la variable d'environnement que vous souhaitez 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 que vous souhaitez 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 la 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 inattendues.

Gérer les secrets

Les variables d'environnement peuvent être utilisées pour configurer les workflows, mais elles ne sont pas recommandé pour stocker et consommer des secrets tels que les identifiants de base de données ou clés API. Ces valeurs sensibles doivent être stockées séparément de votre code source et de vos variables d'environnement, et ne doivent pas être envoyées par inadvertance dans les 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 les workflows.

Conventions d'attribution de noms

En règle générale, il est recommandé que les clés des variable d'environnement des lettres majuscules, des chiffres et des traits de soulignement (_), et qu'ils ne commencent pas par un chiffre. Envisagez de préfixer vos variables d'environnement définies par l'utilisateur avec le préfixe clé unique pour éviter les conflits avec d'autres variables.

Limites de taille

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

Étape suivante