Cette page vous explique comment créer et mettre à jour un workflow dans Google Cloud Console ou à l'aide de Google Cloud CLI.
Avant de commencer
Certaines étapes de ce document risquent de ne pas fonctionner correctement si votre organisation applique des contraintes à votre environnement Google Cloud. Dans ce cas, vous ne pourrez peut-être pas effectuer des tâches telles que la création d'adresses IP publiques ou de clés de compte de service. Si vous effectuez une requête qui renvoie une erreur concernant des contraintes, consultez la section Développer des applications dans un environnement Google Cloud limité.
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
Activer l'API Workflows
Activer l'API Workflows
Créer un compte de service
Créez un compte de service si vous n'en possédez pas déjà un. Ensuite, attribuez-lui les rôles nécessaires pour gérer les workflows et créer des journaux. Découvrez comment créer et gérer des comptes de service.
Notez que pour créer une ressource et y associer un compte de service, vous devez disposer des autorisations nécessaires pour créer cette ressource et emprunter l'identité du compte de service que vous allez associer à la ressource. Pour en savoir plus, consultez la section Autorisations de compte de service.
Console
Dans la console Google Cloud, accédez à la page Comptes de service.
Sélectionnez un projet, puis cliquez sur Créer un compte de service.
Dans le champ Nom du compte de service, saisissez un nom.
Ce nom doit comporter entre 6 et 30 caractères. Il peut inclure des caractères alphanumériques minuscules et des tirets. Une fois le compte de service créé, vous ne pouvez pas en modifier le nom.
Cliquez sur Créer et continuer.
Cliquez sur Select a role (Sélectionner un rôle).
Sélectionnez les rôles suivants, en cliquant sur Add another role (Ajouter un autre rôle) si nécessaire:
- Pour créer, mettre à jour et exécuter des workflows, sélectionnez Workflows > Éditeur de workflows.
- Pour envoyer des journaux à Cloud Logging, sélectionnez Rédacteur de journaux >.
Cliquez sur OK pour terminer la création du compte de service.
gcloud
Créez le compte de service.
gcloud iam service-accounts create NAME
Accordez des autorisations au compte de service en attribuant un rôle.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
Remplacez les éléments suivants :
NAME
: nom du compte de service. Il doit comporter entre 6 et 30 caractères alphanumériques pouvant inclure des minuscules et des tirets. Une fois le compte de service créé, vous ne pouvez pas en modifier le nom.PROJECT_ID
: ID de votre projet.
L'option
--role
permet à votre compte de service d'accéder aux ressources.- Pour créer, mettre à jour et exécuter des workflows, attribuez le rôle
roles/workflows.editor
. - Pour envoyer des journaux à Cloud Logging, attribuez le rôle
roles/logging.logWriter
.
Créer un workflow
Une définition de workflow est constituée d'une série d'étapes décrites à l'aide de la syntaxe Workflows, qui peut être écrite au format YAML ou JSON. Après avoir créé un workflow, vous pouvez le déployer pour le rendre disponible en exécution. L'étape de déploiement vérifie également que le fichier source peut être exécuté. Elle échoue si le fichier source ne contient pas de définition de workflow valide.
Console
Dans Google Cloud Console, accédez à la page Workflows.
Cliquez sur
Créer.Saisissez un nom pour le nouveau workflow, par exemple
myFirstWorkflow
. Le nom peut contenir des lettres, des chiffres, des traits de soulignement et des tirets. Il doit commencer par une lettre et se terminer par un chiffre ou une lettre.Dans la liste Région, sélectionnez une région appropriée, par exemple us-central1.
Dans la liste Compte de service, sélectionnez le compte de service que vous souhaitez utiliser pour l'authentification auprès d'autres services Google Cloud.
Nous vous recommandons vivement d'utiliser un compte de service disposant des moindres droits nécessaires pour accéder aux ressources requises.
Vous pouvez également effectuer l'une des opérations suivantes:
Ajouter un libellé: les libellés sont des paires clé/valeur qui vous aident à organiser vos instances Google Cloud. Pour en savoir plus, consultez la page Créer et gérer des libellés.
Planifiez votre workflow: sélectionnez Ajouter un déclencheur > Cloud Scheduler. Pour en savoir plus, consultez la page Planifier un workflow à l'aide de Cloud Scheduler.
Déclenchez votre workflow via un événement ou un message Pub/Sub : sélectionnez Add new trigger > Eventarc (Ajouter un déclencheur). Pour en savoir plus, consultez la page Déclencher un workflow avec des événements ou des messages Pub/Sub.
Cliquez sur Suivant.
Dans l'éditeur de workflow, saisissez la définition de votre workflow. Consultez un exemple de workflow.
Cliquez sur Déployer.
gcloud
Assurez-vous que le code source de votre workflow est enregistré dans un fichier YAML ou JSON, tel que
MY_WORKFLOW.YAML
ouMY_WORKFLOW.JSON
. Consultez un exemple de workflow.Ouvrez un terminal.
Déployez le workflow en saisissant la commande suivante :
gcloud workflows deploy MY_WORKFLOW \ --source=YAML_OR_JSON_SOURCE_FILE \ --service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM
Remplacez les éléments suivants :
MY_WORKFLOW
: nom de votre workflow.YAML_OR_JSON_SOURCE_FILE
: fichier source à utiliser pour le workflow. Par exemple :myFirstWorkflow.yaml
.MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM
: facultatif. Compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. Nous vous recommandons vivement d'utiliser un compte de service disposant des droits les plus faibles pour accéder aux ressources requises. Si vous ne renseignez pas ce champ, le compte de service par défaut est utilisé.
Mettre à jour un workflow
Vous pouvez mettre à jour un workflow existant pour modifier sa source, sa description, ses étiquettes, ses déclencheurs ou le compte de service associé. La mise à jour d'un workflow n'affecte pas les exécutions en cours. Seules les futures exécutions du workflow utiliseront la configuration mise à jour.
Console
Dans Google Cloud Console, accédez à la page Workflows.
Cliquez sur le nom du workflow que vous souhaitez mettre à jour, puis cliquez sur
Modifier.Sur la page Modifier le workflow, vous pouvez modifier la description, mettre à jour le compte de service utilisé par le workflow pour l'authentification, ou ajouter ou mettre à jour un libellé ou un déclencheur. Vous ne pouvez pas modifier le nom du workflow.
Une fois les modifications initiales effectuées, cliquez sur Suivant.
Dans l'éditeur de flux de travail, vous pouvez mettre à jour le code source du workflow.
Cliquez sur Déployer.
gcloud
Ouvrez un terminal.
Sélectionnez le nom du workflow que vous souhaitez mettre à jour. Si vous ne connaissez pas le nom du workflow, vous pouvez saisir la commande suivante pour répertorier tous vos workflows:
gcloud workflows list
Recherchez le fichier YAML ou JSON dans lequel la source de votre workflow est enregistrée, par exemple
WORKFLOW_NAME.YAML
ouWORKFLOW_NAME.JSON
.Vous pouvez mettre à jour la source, le compte de service, la description ou les libellés d'un workflow:
gcloud workflows deploy WORKFLOW_NAME \ --source=YAML_OR_JSON_SOURCE_FILE \ --service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM \ --labels=KEY=VALUE... \ --description='WORKFLOW_DESCRIPTION'
Remplacez les éléments suivants :
WORKFLOW_NAME
: Obligatoire. Nom de votre workflow.YAML_OR_JSON_SOURCE_FILE
: Obligatoire. Fichier source du workflow au format YAML ou JSON. Exemple :myFirstWorkflow.yaml
.MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM
: facultatif. Compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. Pour en savoir plus sur les comptes de service, consultez la page Créer et gérer des comptes de service.KEY=VALUE
: Facultatif.KEY=VALUE
paires de libellés, dans une liste d'éléments séparés par une virgule, si vous en ajoutez plusieurs. Les étiquettes vous aident à organiser vos instances Google Cloud. Pour en savoir plus, consultez la page Créer et gérer des étiquettes.WORKFLOW_DESCRIPTION
: Facultatif. Description que vous souhaitez donner à votre workflow.
Vous devez spécifier le nom du workflow que vous souhaitez mettre à jour et sa source. Toutefois, les autres options sont facultatives.
Chaque fois que vous mettez à jour un workflow, son versionID
est mis à jour. L'versionID
comprend deux parties, séparées par un trait d'union:
Nombre commençant à un, qui est incrémenté à chaque mise à jour d'un workflow.
Chaîne alphanumérique aléatoire à trois caractères.
Par exemple, 000002-d52
indique un workflow qui a été mis à jour une fois.
000001-27f
indique un workflow qui se trouve sur sa version initiale.