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 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
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
gcloud
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API:
gcloud services enable workflows.googleapis.com
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API:
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. Ensuite, 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 section Accorder à un workflow l'accès 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 lui accorder l'identité du compte de service que vous rattacherez à 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 Ajouter un autre rôle si nécessaire:
- Pour créer, mettre à jour et exécuter des workflows, sélectionnez Workflows > Workflows Editor (Workflows > Workflows Editor).
- Pour envoyer des journaux à Cloud Logging, sélectionnez Logging > 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 SERVICE_ACCOUNT
Accordez des autorisations au compte de service en attribuant des rôles.
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"
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 pas en modifier le 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 section Créer des comptes de service.
Vous pouvez accorder plusieurs rôles de manière programmatique 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 Attribuer 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 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.
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
Dans la console Google Cloud, accédez à la page Workflows :
Cliquez sur
Créer.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.Vous pouvez également ajouter une description du workflow.
Dans la liste Région, sélectionnez un emplacement approprié pour déployer votre workflow. Exemple : us-central1.
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 de ce document.
Vous avez également la possibilité d'effectuer l'une des opérations suivantes :
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.
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.
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.
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
pour lister et filtrer les exécutions de workflow.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 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.
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, par exemple
MY_WORKFLOW.YAML
ouMY_WORKFLOW.JSON
. Consultez un exemple de workflow.Ouvrez un terminal.
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 tirets. 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. Description du workflow.LABEL_KEY=LABEL_VALUE
: Facultatif. Liste de paires clé-valeur de libellé qui vous aide à organiser vos instances Google Cloud (par exemple,name=wrench
). 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éthodeworkflows.executions.list
pour lister et filtrer les exécutions de workflow.ENV_KEY=ENV_VALUE
: Facultatif. Liste de paires clé-valeur de la variable d'environnement (par exemple,MONTH=January
). Pour en savoir plus, consultez Utiliser des variables d'environnement.ENCRYPT_KEY
: Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au formatprojects/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 en savoir plus, consultez la section Créer un compte de service de ce document.YAML_OR_JSON_SOURCE_FILE
: fichier source de 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 ci-dessous, 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 tirets. Il doit commencer par une lettre et se terminer par un chiffre ou une lettre.DESCRIPTION
: Facultatif. Description de votre workflow. Ne doit pas comporter plus de 1 000 caractères Unicode.LABEL_KEY
etLABEL_VALUE
: facultatifs. Carte des paires clé-valeur de libellé qui vous aident à organiser vos instances Google Cloud. Par exemple :{"name": "wrench", "mass": "1kg", "count": "3"}
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éthodeworkflows.executions.list
pour lister et filtrer les exécutions de workflow.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facultatif. Le compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. L'ID de projet correspond à l'ID de votre projet Google Cloud. Pour en savoir plus, consultez la section Créer un compte de service de ce document.ENCRYPT_KEY
: Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au formatprojects/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.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 section Envoyer des journaux à Logging. Choisissez l'une des options suivantes :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 de l'exécution s'applique et prévaut sur le niveau de journalisation du workflow.LOG_ERRORS_ONLY
: consigne 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.
ENV_KEY
etENV_VALUE
: facultatifs. Mappage des paires clé-valeur des 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 le code 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 lister des workflows ou utiliser des filtres pour en récupérer un spécifique.
Console
Dans la console Google Cloud, accédez à la page Workflows.
Cette page répertorie vos workflows dans tous les emplacements et inclut des détails tels que les noms, les régions, les dernières révisions, etc.
Pour filtrer vos workflows:
- Cliquez sur Filtrer ou sur le champ Filtrer les workflows.
- Dans la liste Propriétés, sélectionnez une option permettant de 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.Pour trier vos workflows, à côté d'un en-tête de colonne compatible, cliquez sur
Trier.
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 liste vos workflows à l'emplacement spécifié et inclut des informations telles que 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 seul workflow, vous pouvez également utiliser la méthode projects.locations.workflows.get
.
Avant d'utiliser les données de requête ci-dessous, 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 à un, qui est incrémenté à chaque mise à jour d'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
Dans la console Google Cloud, accédez à la page Workflows.
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.
Vous pouvez modifier le workflow de différentes manières:
Pour modifier la source:
- Cliquez sur l'onglet Source.
- Cliquez sur Modifier.
- 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 du journal des appels, les variables d'environnement, les libellés ou la clé de chiffrement:
- Cliquez sur l'onglet Détails.
- Cliquez sur l'icône appropriée.
- Si vous mettez à jour le 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.
- La mise à jour d'un libellé existant ou l'ajout d'un 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
pour lister et filtrer les exécutions de workflow. - 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:
- Cliquez sur Modifier.
- Pour modifier la source, cliquez sur Suivant.
- Pour enregistrer vos modifications et déployer le workflow mis à jour, cliquez sur Déployer.
Si vous souhaitez mettre à jour les rôles de votre compte de service, cliquez sur l'onglet Autorisations.
Les comptes principaux sont des utilisateurs, des groupes, des domaines ou des comptes de service. Pour mettre à jour un principal existant:
- Recherchez une ligne contenant le compte principal.
- Cliquez sur Modifier le compte principal sur cette ligne.
- Cliquez sur Ajouter un autre rôle ou sur Supprimer le rôle.
Si vous ajoutez un rôle, sélectionnez-en un dans la liste Sélectionner un rôle.
Pour ajouter un autre rôle, cliquez sur Ajouter un autre rôle.
Cliquez sur Enregistrer.
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 workflow est enregistrée, par exemple
WORKFLOW_NAME.YAML
ouWORKFLOW_NAME.JSON
.Vous pouvez mettre à jour un workflow existant pour modifier sa source, sa description, ses libellés, ses variables d'environnement, le niveau du journal des 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. Description du workflow.LABEL_KEY=LABEL_VALUE
: Facultatif. Liste de paires clé-valeur de libellé qui vous aide à organiser vos instances Google Cloud (par exemple,name=wrench
). 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éthodeworkflows.executions.list
pour lister et filtrer les exécutions de workflow.ENV_KEY=ENV_VALUE
: Facultatif. Liste de paires clé-valeur de la variable d'environnement (par exemple,MONTH=January
). Pour en savoir plus, consultez Utiliser des variables d'environnement.ENCRYPT_KEY
: Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au formatprojects/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 Autorisez un workflow à 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 utilisez éventuellement le paramètre de requête updateMask
pour spécifier une liste de champs à mettre à jour.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
WORKFLOW_NAME
: nom de votre workflow (par exemple,myFirstWorkflow
).DESCRIPTION
: Facultatif. Description de votre workflow. Ne doit pas comporter plus de 1 000 caractères Unicode.LABEL_KEY
etLABEL_VALUE
: facultatifs. Carte des paires clé-valeur de libellé qui vous aident à organiser vos instances Google Cloud. Par exemple :{"name": "wrench", "mass": "1kg", "count": "3"}
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éthodeworkflows.executions.list
pour lister et filtrer les exécutions de workflow.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facultatif. Le compte de service que votre workflow utilisera pour accéder à d'autres services Google Cloud. L'ID de projet correspond à l'ID de votre projet Google Cloud. Pour en savoir plus, consultez la section Créer un compte de service de ce document.ENCRYPT_KEY
: Facultatif. Une clé Cloud KMS que le workflow doit utiliser pour le chiffrement des données au formatprojects/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.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 section Envoyer des journaux à Logging. Choisissez l'une des options suivantes :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 de l'exécution s'applique et prévaut sur le niveau de journalisation du workflow.LOG_ERRORS_ONLY
: consigne 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.
ENV_KEY
etENV_VALUE
: facultatifs. Mappage des paires clé-valeur des 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 compressé. Par exemple :{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
.LOCATION
: région dans laquelle le workflow est déployé (par exemple,us-central1
).UPDATE_FIELDS
: Facultatif. Liste de champs à mettre à jour, séparés par une virgule. Si ce paramètre n'est pas fourni, l'ensemble du workflow est mis à jour. Par exemple,description,callLogLevel
.
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 entraîne également la suppression de ses exécutions et l'annulation de toutes les exécutions actives pour le workflow.
Console
Dans la console Google Cloud, accédez à la page Workflows.
Cliquez sur le nom du workflow que vous souhaitez supprimer, puis sur
Supprimer.Dans l'invite de confirmation de la suppression, saisissez le nom du workflow.
Cliquez sur Confirmer.
gcloud
Ouvrez un terminal.
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
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écifique, utilisez la méthode projects.locations.workflows.delete
.
Avant d'utiliser les données de requête ci-dessous, 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.