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 pouvant être réutilisé en tant que modèle et configuré en fonction de variables d'environnement gérées séparément.
Les variables d'environnement sont définies sous forme de paires de chaînes clé/valeur arbitraires 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.
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. Pour créer ou modifier une variable d'environnement, le déploiement doit être 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 les workflows:
Clé | Description |
---|---|
Vide ('' ) |
Une clé ne peut pas être une chaîne vide. |
GOOGLE_ |
Une clé ne peut pas contenir le préfixe GOOGLE_ . |
WORKFLOWS_ |
Une clé ne peut 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 workflow. Pour apporter des modifications additives, consultez plutôt la section Mettre à jour des variables d'environnement de ce document.
Console
Dans Google Cloud Console, accédez à la page Workflows :
Sur la page Workflows (Workflows), cliquez sur
Create (Créer).Sur la page Créer un workflow, remplissez les champs appropriés pour configurer la définition de votre workflow.
Dans la section Variables d'environnement (facultatif), cliquez sur Ajouter une variable.
Dans le champ Nom 1, spécifiez le nom de la variable.
Dans le champ Valeur 1, spécifiez la valeur de la variable.
Pour ajouter une autre variable, cliquez sur Ajouter une variable.
Cliquez sur Suivant.
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 en savoir plus, consultez la section 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 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 des 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 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 renvoie cette valeur:
main: steps: - init: assign: - keyValue: ${sys.get_env("KEY1")} - returnResult: return: ${keyValue}
Mettre à jour des 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
Dans la console Google Cloud, accédez à la page Workflows.
Cliquez sur le nom du workflow que vous souhaitez mettre à jour.
La page Détails du workflow s'affiche.
Pour modifier une variable d'environnement existante, procédez comme suit:
Cliquez sur l'onglet Détails.
- À côté de Variables d'environnement, cliquez sur l'icône .
- Apportez les modifications souhaitées.
- Pour déployer le workflow mis à jour, cliquez sur Enregistrer.
Cliquez sur
Modifier.- Dans la section Variables d'environnement (facultatif), effectuez les modifications souhaitées.
- 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
Dans la console Google Cloud, accédez à la page Workflows.
Cliquez sur le nom du workflow que vous souhaitez mettre à jour.
La page Détails du workflow s'affiche.
Pour supprimer une variable d'environnement existante, procédez comme suit:
Cliquez sur l'onglet Détails.
- Cliquez sur l' appropriée.
- À côté de la variable d'environnement que vous souhaitez supprimer, cliquez sur l'icône .
- Pour déployer le workflow mis à jour, cliquez sur Enregistrer.
Cliquez sur
Modifier.- À côté de la variable d'environnement que vous souhaitez supprimer, cliquez sur l'icône .
- 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 inattendues.
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 consommer 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 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, 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 avec une 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 chaîne de définition (KEY=value
) est limitée à 4 Ko.
Étape suivante
- Exécutez un workflow.
- Transmettez des arguments d'environnement d'exécution dans une requête d'exécution.