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
Dans Google Cloud Console, accédez à la page Workflows :
Sur la page Workflows, cliquez sur
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 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
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, effectuez l'une des opérations suivantes:
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, effectuez l'une des opérations suivantes:
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 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
- Exécuter un workflow.
- Transmettez des arguments d'environnement d'exécution dans une requête d'exécution.