Créer et mettre à jour un workflow

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é.

  1. 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.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. 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.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. 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.

  6. 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

  1. Dans la console Google Cloud, accédez à la page Comptes de service.

    Accéder à la page "Comptes de service"

  2. Sélectionnez un projet, puis cliquez sur Créer un compte de service.

  3. 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.

  4. Cliquez sur Créer et continuer.

  5. Cliquez sur Select a role (Sélectionner un rôle).

  6. 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 >.
  7. Cliquez sur OK pour terminer la création du compte de service.

gcloud

  1. Créez le compte de service.

    gcloud iam service-accounts create NAME
  2. 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.

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

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

    Accéder à "Workflows"

  2. Cliquez sur  Créer.

  3. 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.

  4. Dans la liste Région, sélectionnez une région appropriée, par exemple us-central1.

  5. 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.

  6. Vous pouvez également effectuer l'une des opérations suivantes:

    1. 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.

    2. 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.

    3. 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.

  7. Cliquez sur Suivant.

  8. Dans l'éditeur de workflow, saisissez la définition de votre workflow. Consultez un exemple de workflow.

  9. Cliquez sur Déployer.

gcloud

  1. Assurez-vous que le code source de votre workflow est enregistré dans un fichier YAML ou JSON, tel que MY_WORKFLOW.YAML ou MY_WORKFLOW.JSON. Consultez un exemple de workflow.

  2. Ouvrez un terminal.

  3. 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

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

    Accéder à "Workflows"

  2. Cliquez sur le nom du workflow que vous souhaitez mettre à jour, puis cliquez sur Modifier.

  3. 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.

  4. Une fois les modifications initiales effectuées, cliquez sur Suivant.

  5. Dans l'éditeur de flux de travail, vous pouvez mettre à jour le code source du workflow.

  6. Cliquez sur Déployer.

gcloud

  1. Ouvrez un terminal.

  2. 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
    
  3. Recherchez le fichier YAML ou JSON dans lequel la source de votre workflow est enregistrée, par exemple WORKFLOW_NAME.YAML ou WORKFLOW_NAME.JSON.

  4. 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.

Étapes suivantes