Créer et gérer des flux de travail

Vous pouvez créer et gérer des workflows dans la console Google Cloud, ou à l'aide de Google Cloud CLI dans votre terminal ou dans Cloud Shell. Vous pouvez également gérer les workflows via l'API Workflows.

Avant de commencer

Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.

Console

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

    Accéder au sélecteur de projet

  2. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  3. Activer l'API Workflows

    Activer l'API

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  3. Activer l'API Workflows

    gcloud services enable workflows.googleapis.com
    

REST

Pour gérer les workflows à l'aide de l'API Workflows, nous vous recommandons d'utiliser les bibliothèques clientes fournies par Google pour appeler le service workflows.googleapis.com. Pour en savoir plus, consultez la page API Workflows.

Créer un compte de service

Un compte de service représente l'identité d'un workflow et détermine les autorisations dont il dispose et les ressources Google Cloud auxquelles il peut accéder. Créez un compte de service si vous n'en possédez pas déjà un, puis attribuez-lui les rôles nécessaires pour gérer les workflows et créer des journaux.

Si vous ne spécifiez pas de compte de service lors de la création du workflow, celui-ci utilise le compte de service Compute Engine par défaut pour son identité. Pour en savoir plus, consultez la page Autoriser un workflow à accéder aux ressources Google Cloud.

Nous vous recommandons vivement d'utiliser un compte de service ne bénéficiant que des privilèges les plus faibles nécessaires pour accéder aux ressources requises.

Notez que pour créer une ressource et lui 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 rattacher à la ressource. Pour en savoir plus, consultez la page 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 plus modifier son 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 et cliquez sur Ajouter un autre rôle si nécessaire:

    1. Pour créer, mettre à jour et exécuter des workflows, sélectionnez Workflows > Éditeur de workflows.
    2. Pour envoyer des journaux à Cloud Logging, sélectionnez Logging > 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 SERVICE_ACCOUNT
  2. Accordez des autorisations au compte de service en attribuant des rôles.

    1. Pour créer, mettre à jour et exécuter des workflows, attribuez le rôle roles/workflows.editor:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/workflows.editor"
      
    2. Pour envoyer des journaux à Cloud Logging, attribuez le rôle roles/logging.logWriter:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/logging.logWriter"
      

    Remplacez les éléments suivants :

    • SERVICE_ACCOUNT : 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 plus modifier son nom.

    • PROJECT_ID: ID de votre projet.

REST

Vous pouvez utiliser la méthode serviceAccounts.create pour créer un compte de service. Pour en savoir plus, consultez la page Créer des comptes de service.

Vous pouvez attribuer plusieurs rôles de manière automatisée en modifiant et en définissant la stratégie d'autorisation pour une ressource à l'aide de la méthode setIamPolicy. Pour en savoir plus, consultez la section Accorder ou révoquer plusieurs rôles de manière automatisée.

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 défini un workflow, vous le déployez pour le rendre disponible pour 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.

La modification des fichiers YAML peut entraîner des erreurs. Vous pouvez créer votre workflow à l'aide d'un IDE ou d'un éditeur de code source de votre choix, et configurer la saisie semi-automatique et la validation de la syntaxe pour réduire les erreurs.

Console

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

    Accéder à "Workflows"

  2. Cliquez sur  Créer.

  3. Saisissez un nom pour le 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. Si vous le souhaitez, ajoutez une description du workflow.

  5. Dans la liste Région, sélectionnez l'emplacement approprié dans lequel déployer votre workflow (par exemple, us-central1).

  6. Dans la liste Compte de service, sélectionnez un compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. Pour en savoir plus, consultez la section Créer un compte de service dans ce document.

  7. Vous avez également la possibilité d'effectuer l'une des opérations suivantes :

    1. Indiquez le niveau de journalisation des appels que vous souhaitez appliquer à la définition du workflow. Dans la liste Niveau de journalisation des appels, sélectionnez l'une des options suivantes:

      • Non spécifié: aucun niveau de journalisation n'est spécifié. Il s'agit de l'option par défaut. Un niveau de journalisation d'exécution est prioritaire sur tout niveau de journalisation de workflow, sauf si celui-ci n'est pas spécifié (valeur par défaut). Dans ce cas, le niveau de journalisation du workflow s'applique.
      • Erreurs uniquement: consigne toutes les exceptions interceptées, ou lorsqu'un appel est arrêté en raison d'une exception.
      • Tous les appels: consigne tous les appels aux sous-workflows ou aux fonctions de la bibliothèque, ainsi que leurs résultats.
      • Aucun journal: aucun journal d'appels.
    2. Spécifiez une clé Cloud Key Management Service que le workflow doit utiliser pour le chiffrement des données: sélectionnez Clé de chiffrement gérée par le client (CMEK). Pour en savoir plus, consultez la page Utiliser des clés de chiffrement gérées par le client.

    3. Spécifiez une variable d'environnement accessible par votre workflow au moment de l'exécution. Pour en savoir plus, consultez Utiliser des variables d'environnement.

    4. Ajoutez un libellé : les libellés sont des paires clé/valeur qui vous aident à organiser vos instances Google Cloud. Pour en savoir plus, consultez la section Que sont les libellés ? Les libellés de workflow sont hérités par les exécutions du workflow. Pour afficher les libellés d'exécution, utilisez la méthode workflows.executions.list afin de répertorier et filtrer les exécutions de workflow.

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

    6. Déclenchez un workflow via un événement ou un message Pub/Sub : sélectionnez Ajouter un déclencheur > Eventarc. Pour en savoir plus, consultez la page Déclencher un workflow avec des événements ou des messages Pub/Sub.

  8. Cliquez sur Suivant.

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

  10. Cliquez sur Déployer.

gcloud

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

  2. Ouvrez un terminal.

  3. Vous pouvez créer et déployer un workflow à l'aide de la commande gcloud workflows deploy:

    gcloud workflows deploy WORKFLOW_NAME \
        --location=LOCATION \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Remplacez les éléments suivants :

    • WORKFLOW_NAME: nom de votre workflow (par exemple, myFirstWorkflow). Le nom peut contenir des lettres, des chiffres, des traits de soulignement et des traits d'union. Il doit commencer par une lettre et se terminer par un chiffre ou une lettre.

    • LOCATION: région dans laquelle déployer votre workflow, par exemple us-central1.

    • CALL_LOGGING_LEVEL : Facultatif. Niveau de journalisation des appels à appliquer lors de l'exécution. Peut être une valeur parmi :

      • none: aucun niveau de journalisation n'est spécifié. Il s'agit de l'option par défaut. Un niveau de journalisation d'exécution est prioritaire sur un niveau de journalisation de workflow, sauf si celui-ci n'est pas spécifié (valeur par défaut). Dans ce cas, le niveau de journalisation du workflow s'applique.
      • log-errors-only: journalise toutes les exceptions interceptées, ou lorsqu'un appel est arrêté en raison d'une exception.
      • log-all-calls: journalise tous les appels aux sous-workflows ou aux fonctions de la bibliothèque, ainsi que leurs résultats.
      • log-none: aucune journalisation des appels.
    • DESCRIPTION : Facultatif. Une description du workflow.

    • LABEL_KEY=LABEL_VALUE : Facultatif. Liste des paires clé/valeur d'étiquettes qui vous aident à organiser vos instances Google Cloud (par exemple, name=wrench). Pour en savoir plus, consultez la section Que sont les étiquettes ? Les libellés de workflow sont hérités par les exécutions du workflow. Pour afficher les libellés d'exécution, utilisez la méthode workflows.executions.list afin de répertorier et filtrer les exécutions de workflow.

    • ENV_KEY=ENV_VALUE : Facultatif. Liste des paires clé/valeur des variable d'environnement (par exemple, MONTH=January). Pour en savoir plus, consultez la section Utiliser des variables d'environnement.

    • ENCRYPT_KEY : Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Pour en savoir plus, consultez la page Utiliser des clés de chiffrement gérées par le client.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Facultatif. Le compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. Pour plus d'informations, consultez la section Créer un compte de service dans ce document.

    • YAML_OR_JSON_SOURCE_FILE: fichier source pour la définition du workflow. Exemple : myFirstWorkflow.yaml.

REST

Pour créer un workflow avec un nom spécifié, utilisez la méthode projects.locations.workflows.create et le paramètre de requête workflowId pour spécifier un ID pour le workflow.

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

  • WORKFLOW_NAME: nom de votre workflow, par exemple myFirstWorkflow. Le nom peut contenir des lettres, des chiffres, des traits de soulignement et des traits d'union. Il doit commencer par une lettre et se terminer par un chiffre ou une lettre.
  • DESCRIPTION : Facultatif. Description de votre workflow. Ne doit pas dépasser 1 000 caractères Unicode.
  • LABEL_KEY et LABEL_VALUE: facultatifs. Carte de paires clé/valeur d'étiquettes qui vous aide à organiser vos instances Google Cloud. Par exemple : {"name": "wrench", "mass": "1kg", "count": "3"} Pour en savoir plus, consultez Que sont les étiquettes ? Les libellés de workflow sont hérités par les exécutions du workflow. Pour afficher les étiquettes d'exécution, utilisez la méthode workflows.executions.list afin de répertorier et filtrer les exécutions de workflow.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facultatif. Compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. L'ID du projet correspond à l'ID de votre projet Google Cloud. Pour plus d'informations, consultez la section Créer un compte de service dans ce document.
  • ENCRYPT_KEY : Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Pour en savoir plus, consultez Utiliser des clés de chiffrement gérées par le client.
  • CALL_LOGGING_LEVEL : Facultatif. Niveau de journalisation des appels à appliquer lors de l'exécution. Par défaut, aucun niveau de journalisation n'est spécifié et le niveau de journalisation du workflow s'applique à la place. Pour en savoir plus, consultez la page Envoyer des journaux à Logging. L'un des éléments suivants :
    • CALL_LOG_LEVEL_UNSPECIFIED: aucun niveau de journalisation n'est spécifié et le niveau de journalisation du workflow s'applique à la place. Il s'agit de la valeur par défaut. Sinon, le niveau de journalisation d'exécution s'applique et prévaut sur le niveau de journalisation du workflow.
    • LOG_ERRORS_ONLY: journalise toutes les exceptions interceptées, ou lorsqu'un appel est arrêté en raison d'une exception.
    • LOG_ALL_CALLS: consigne tous les appels de sous-workflows ou de fonctions de bibliothèque, ainsi que leurs résultats.
    • LOG_NONE: aucune journalisation des appels.
  • ENV_KEY et ENV_VALUE: facultatifs. Un mappage de paires clé/valeur de variable d'environnement (par exemple, { "month": "January", "day": "Monday"}). Pour en savoir plus, consultez la section Utiliser des variables d'environnement.
  • SOURCE_CODE: définition du workflow. Vous devez échapper les nouvelles lignes en YAML. Par exemple : main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello.

    Vous devez échapper les guillemets dans JSON. Par exemple : {\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}

  • LOCATION: région dans laquelle le workflow doit être déployé (par exemple, us-central1).

Corps JSON de la requête :

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "create",
    "apiVersion": "v1"
  },
  "done": false
}

Si la valeur de "done" est définie sur false, l'opération est toujours en cours.

Répertorier les workflows

Vous pouvez répertorier les workflows ou utiliser des filtres pour récupérer un workflow spécifique.

Console

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

    Accéder à "Workflows"

    Cette page répertorie vos workflows dans tous les emplacements et fournit des informations telles que les noms, les régions, les dernières révisions, etc.

  2. Pour filtrer vos workflows:

    1. Cliquez sur Filtrer ou sur le champ Filtrer les workflows.
    2. Dans la liste Propriétés, sélectionnez une option pour filtrer les workflows.

    Vous pouvez sélectionner une seule propriété ou utiliser l'opérateur logique OR pour ajouter d'autres propriétés.

  3. Pour trier vos workflows, cliquez sur Trier à côté de tout en-tête de colonne compatible.

gcloud

Répertoriez les workflows à l'aide de la commande gcloud workflows list:

gcloud workflows list --location=LOCATION

Remplacez LOCATION par l'ID ou l'identifiant complet de l'emplacement de votre workflow.

Cette commande répertorie vos workflows à l'emplacement spécifié et inclut des détails tels que les champs NAME, STATE, REVISION_ID et UPDATE_TIME d'un workflow.

REST

Pour répertorier les workflows dans un projet et un emplacement donnés, utilisez la méthode projects.locations.workflows.list.

Pour récupérer les détails d'un workflow unique, vous pouvez également utiliser la méthode projects.locations.workflows.get.

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION: région dans laquelle les workflows sont déployés (par exemple, us-central1).

Pour envoyer votre requête, développez l'une des options suivantes :

Si la requête aboutit, le corps de la réponse contient des instances de Workflow et la réponse doit ressembler à ce qui suit :

{
  "workflows": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
      "state": "ACTIVE",
      "revisionId": "000001-0ce",
      "createTime": "2023-12-08T13:56:59.306770745Z",
      "updateTime": "2023-12-08T13:56:59.547021939Z",
      "revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
      "serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

Mettre à jour un workflow

Vous pouvez mettre à jour un workflow existant. Vous devez spécifier le nom du workflow que vous souhaitez mettre à jour et sa source. Notez que vous ne pouvez pas modifier le nom ni l'emplacement d'un workflow.

La mise à jour d'un workflow n'a aucune incidence sur les exécutions en cours. Seules les exécutions futures du workflow utiliseront la configuration mise à jour.

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 par 1) qui s'incrémente chaque fois que vous mettez à jour un workflow.

  • Chaîne alphanumérique aléatoire à trois caractères.

Par exemple, 000001-27f indique la version initiale d'un workflow et 000002-d52 indique un workflow qui a été mis à jour une fois.

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. Notez que vous ne pouvez pas modifier le nom du workflow.

    La page Détails du workflow s'affiche.

  3. Vous pouvez modifier le workflow de différentes manières:

    • Pour modifier la source:

      1. Cliquez sur l'onglet Source.
      2. Cliquez sur Modifier.
      3. Pour enregistrer vos modifications, cliquez sur Enregistrer. Le workflow mis à jour est déployé.
    • Pour mettre à jour la description, le compte de service utilisé par le workflow pour l'authentification, le niveau de journal d'appel, les variables d'environnement, les étiquettes ou la clé de chiffrement:

      1. Cliquez sur l'onglet Détails.
      2. Cliquez sur l'icône appropriée.
      3. Si vous mettez à jour le niveau des journaux d'appels, sélectionnez l'une des options suivantes :
        • Non spécifié: aucun niveau de journalisation n'est spécifié. Il s'agit de l'option par défaut. Un niveau de journalisation d'exécution est prioritaire sur tout niveau de journalisation de workflow, sauf si celui-ci n'est pas spécifié (valeur par défaut). Dans ce cas, le niveau de journalisation du workflow s'applique.
        • Erreurs uniquement: consigne toutes les exceptions interceptées, ou lorsqu'un appel est arrêté en raison d'une exception.
        • Tous les appels: consigne tous les appels aux sous-workflows ou aux fonctions de la bibliothèque, ainsi que leurs résultats.
        • Aucun journal: aucun journal d'appels.
      4. Si vous mettez à jour un libellé existant ou que vous en ajoutez un, la prise en compte du nouveau libellé peut prendre jusqu'à 10 minutes. Les libellés de workflow sont hérités par les exécutions du workflow. Pour afficher les libellés d'exécution, utilisez la méthode workflows.executions.list afin de répertorier et filtrer les exécutions de workflow.
      5. Pour enregistrer vos modifications, cliquez sur Enregistrer. Le workflow mis à jour est déployé.
    • Pour modifier les champs précédents en même temps, ou ajouter ou mettre à jour un déclencheur:

      1. Cliquez sur Modifier.
      2. Pour modifier la source, cliquez sur Suivant.
      3. Pour enregistrer vos modifications et déployer le workflow mis à jour, cliquez sur Déployer.
  4. Si vous souhaitez mettre à jour les rôles de votre compte de service, cliquez sur l'onglet Autorisations.

    1. Les comptes principaux sont des utilisateurs, des groupes, des domaines ou des comptes de service. Pour mettre à jour un compte principal existant, procédez comme suit:

      1. Recherchez une ligne contenant le compte principal.
      2. Cliquez sur Modifier le compte principal sur cette ligne.
      3. Cliquez sur Ajouter un autre rôle ou sur Supprimer le rôle.
    2. Si vous ajoutez un rôle, sélectionnez un rôle approprié dans la liste Sélectionner un rôle.

    3. Pour ajouter un autre rôle, cliquez sur Ajouter un autre rôle.

    4. Cliquez sur Enregistrer.

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 un workflow existant pour modifier sa source, sa description, ses libellés, ses variables d'environnement, le niveau du journal d'appels, la clé de chiffrement ou le compte de service associé à l'aide de la commande gcloud workflows deploy.

    Vous devez spécifier le nom du workflow que vous souhaitez mettre à jour et sa source. Toutefois, les autres options sont facultatives. Pour supprimer une clé de chiffrement gérée par le client, utilisez l'option --clear-kms-key.

    gcloud workflows deploy WORKFLOW_NAME \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Remplacez les éléments suivants :

    • WORKFLOW_NAME : Obligatoire. Nom de votre workflow.

    • CALL_LOGGING_LEVEL : Facultatif. Niveau de journalisation des appels à appliquer au workflow. Peut être une valeur parmi :

      • none: aucun niveau de journalisation n'est spécifié. Il s'agit de l'option par défaut. Un niveau de journalisation d'exécution est prioritaire sur un niveau de journalisation de workflow, sauf si celui-ci n'est pas spécifié (valeur par défaut). Dans ce cas, le niveau de journalisation du workflow s'applique.
      • log-errors-only: journalise toutes les exceptions interceptées, ou lorsqu'un appel est arrêté en raison d'une exception.
      • log-all-calls: journalise tous les appels aux sous-workflows ou aux fonctions de la bibliothèque, ainsi que leurs résultats.
      • log-none: aucune journalisation des appels.
    • DESCRIPTION : Facultatif. Une description du workflow.

    • LABEL_KEY=LABEL_VALUE : Facultatif. Liste des paires clé/valeur d'étiquettes qui vous aident à organiser vos instances Google Cloud (par exemple, name=wrench). Pour en savoir plus, consultez la section Que sont les étiquettes ? Les libellés de workflow sont hérités par les exécutions du workflow. Pour afficher les libellés d'exécution, utilisez la méthode workflows.executions.list afin de répertorier et filtrer les exécutions de workflow.

    • ENV_KEY=ENV_VALUE : Facultatif. Liste des paires clé/valeur des variable d'environnement (par exemple, MONTH=January). Pour en savoir plus, consultez la section Utiliser des variables d'environnement.

    • ENCRYPT_KEY : Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Pour en savoir plus, consultez la page Utiliser des clés de chiffrement gérées par le client.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Facultatif. Le compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. Si vous souhaitez mettre à jour les rôles de votre compte de service, consultez les pages Accorder à un workflow l'autorisation d'accéder aux ressources Google Cloud et Gérer l'accès aux projets, aux dossiers et aux organisations.

    • YAML_OR_JSON_SOURCE_FILE : Obligatoire. Fichier source du workflow au format YAML ou JSON. Exemple : myFirstWorkflow.yaml.

REST

Pour mettre à jour un workflow existant, utilisez la méthode projects.locations.workflows.patch et éventuellement le paramètre de requête updateMask pour spécifier la liste des champs à mettre à jour.

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

Corps JSON de la requête :

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "update",
    "apiVersion": "v1"
  },
  "done": false
}

Si la valeur de "done" est définie sur false, l'opération est toujours en cours.

Supprimer un workflow

Vous pouvez supprimer un workflow existant. La suppression d'un workflow supprime également ses exécutions et annule toutes les exécutions actives du workflow.

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 supprimer, puis sur Supprimer.

  3. Lorsque vous êtes invité à confirmer la suppression, saisissez le nom du workflow.

  4. Cliquez sur Confirmer.

gcloud

  1. Ouvrez un terminal.

  2. Recherchez le nom du workflow que vous souhaitez supprimer. 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. Supprimez un workflow à l'aide de la commande gcloud workflows delete:

    gcloud workflows delete WORKFLOW_NAME
    

    Remplacez WORKFLOW_NAME par le nom de votre workflow.

REST

Pour supprimer un workflow portant un nom spécifié, utilisez la méthode projects.locations.workflows.delete.

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

  • WORKFLOW_NAME: nom du workflow que vous souhaitez supprimer.
  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION: région dans laquelle le workflow est déployé (par exemple, us-central1).

Pour envoyer votre requête, développez l'une des options suivantes :

Si la requête aboutit, le corps de la réponse contient une instance de Operation :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "delete",
    "apiVersion": "v1"
  },
  "done": false
}

Si la valeur de "done" est définie sur false, l'opération est toujours en cours.

Étapes suivantes