Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Une fois que vous avez exécuté un workflow, vous pouvez accéder aux résultats de l'exécution du workflow dans la Google Cloud console ou à l'aide de la Google Cloud CLI.
Console
Dans la Google Cloud console, accédez à la page Workflows (Workflows).
Pour accéder aux résultats d'exécution d'un workflow, cliquez sur le nom du workflow pour accéder à sa page Détails du workflow.
Pour en savoir plus sur une exécution spécifique, dans l'onglet Exécutions, cliquez sur l'ID de l'exécution dans la liste pour accéder à la page Détails de l'exécution.
Dans l'onglet Récapitulatif, chaque exécution comporte les informations suivantes:
ID d'exécution: identifiant unique de l'exécution du workflow.
État d'exécution: indique l'état de fin du workflow, y compris l'étape actuelle ou finale du workflow.
Exécution créée: date de début de l'exécution.
Début de l'exécution: date de début de l'exécution et de l'exécution des étapes.
Fin de l'exécution: date de fin de l'exécution.
Durée d'exécution: durée totale écoulée. Cela peut indiquer des erreurs réseau ou des problèmes de connectivité.
Nom du workflow: nom du workflow.
Révision du workflow: révision actuelle au moment de l'exécution.
Niveau de journalisation des appels: niveau de journalisation des appels appliqué lors de l'exécution. Pour en savoir plus, consultez la section Journalisation des appels.
Entrée: arguments d'exécution transmis au workflow, le cas échéant.
Sortie: sortie du workflow. Si l'exécution a échoué, inclut l'exception qui a entraîné l'échec de l'exécution. Dans ce document, consultez la section Cartes des erreurs d'exécution.
Pour afficher l'historique d'exécution du workflow sous forme de liste d'entrées d'étapes, cliquez sur l'onglet Étapes. Pour en savoir plus, consultez la section Afficher l'historique des étapes d'exécution.
Pour afficher les journaux d'une exécution de workflow, cliquez sur l'onglet Journaux.
Pour filtrer les journaux d'exécution, utilisez le champ Filtrer en haut du tableau. Par exemple, pour n'afficher que les tentatives d'exécution ayant échoué, saisissez failed dans le champ de texte du filtre.
gcloud
Pour afficher la liste complète des exécutions d'un workflow, saisissez la commande suivante:
gcloudworkflowsexecutionslistWORKFLOW_NAME
Remplacez WORKFLOW_NAME par le nom de votre workflow.
Copiez l'ID de l'exécution qui vous intéresse.
Pour afficher les journaux d'exécution d'un workflow, saisissez la commande suivante:
argument: arguments d'exécution transmis au workflow, le cas échéant
endTime: date de fin de l'exécution
error: message d'erreur généré avec l'exception qui a entraîné l'échec de l'exécution.
name: nom complet de l'exécution, y compris le nom du projet, l'emplacement du workflow, le nom du workflow et l'ID d'exécution
startTime: début de l'exécution
state: indique l'état de fin du workflow.
status: étape de workflow actuelle ou finale de l'exécution
workflowRevisionID: révision actuelle au moment de l'exécution
Cartes des erreurs d'exécution
Lorsqu'un workflow génère une erreur lors de l'exécution qui n'est pas interceptée dans un bloc try/except, l'exécution échoue et une carte d'erreur (un dictionnaire JSON) décrivant l'erreur est renvoyée.
Les erreurs générées lors de l'exécution du workflow contiennent des tags permettant d'identifier l'origine de l'erreur. Par exemple, l'erreur renvoyée par un connecteur peut avoir deux clés (tags et message) semblables à celles-ci:
{'tags': ['SystemError'], 'message': 'an error has occurred'}
Vous pouvez ajouter plusieurs balises. Pour rechercher une balise spécifique, vous pouvez utiliser une expression. Exemple :
${'SystemError' in e.tags}
Données d'erreur d'accès renvoyées sous forme de chaîne
Certains connecteurs et API HTTP sérialisent les erreurs sous forme de chaînes avant de les renvoyer. Vous pouvez utiliser les fonctions de bibliothèque standards pour restaurer une charge utile à l'erreur d'origine. Par exemple, pour convertir une chaîne d'erreur en mappe, vous pouvez utiliser les fonctions json.decode et text.encode:
json.decode(text.encode(ERROR_FROM_API))
Tags d'erreur
Le tableau suivant décrit la signification des différents tags d'erreur.
Tag
Description
AuthError
Générée lors de l'échec de la génération d'identifiants pour une requête HTTP.
ConnectionError
Générée lorsqu'une connexion est établie avec le point de terminaison, mais qu'un problème survient lors du transfert de données. La connexion est interrompue avant la réception d'une réponse complète et un message peut ne pas avoir été envoyé au point de terminaison. Les nouvelles tentatives ne sont pas nécessairement idempotentes.
ConnectionFailedError
Générée lorsqu'une connexion n'est pas établie avec le point de terminaison de l'API, par exemple en raison d'un nom de domaine incorrect, de problèmes de résolution DNS ou d'autres problèmes de réseau. Les nouvelles tentatives sont idempotentes.
Générée lorsque la limite d'une ressource est épuisée. Lorsqu'il est généré en interne, ce type d'erreur ne peut pas être intercepté et entraîne une défaillance immédiate de l'exécution.
ResponseTypeError
Générée lorsqu'une opération de longue durée renvoie une réponse de mauvais type.
SystemError
Générée lorsque l'interpréteur détecte une erreur interne.
TimeoutError
Générée lorsqu'une fonction système expire au niveau du système.
TypeError
Générée lorsqu'une opération ou une fonction est appliquée à un objet de type incompatible. La valeur associée est une chaîne qui donne des détails sur l'incohérence de type.
UnhandledBranchError
Générée lorsqu'une ou plusieurs branches ou itérations rencontrent une erreur d'exécution non gérée jusqu'à un nombre maximal.
ValueError
Générée lorsqu'une opération ou une fonction reçoit un argument dont le type est correct, mais d'une valeur incorrecte, et que la situation n'est pas décrite par une exception plus précise, telle que IndexError.
ZeroDivisionError
Générée lorsque le deuxième argument d'une opération de division ou de modulo est égale à zéro. La valeur associée est une chaîne indiquant le type des opérandes et de l'opération.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Access workflow execution results\n\nAfter you [execute a workflow](/workflows/docs/executing-workflow), you can\naccess workflow execution results in the Google Cloud console or by using the\nGoogle Cloud CLI. \n\n### Console\n\n1. In the Google Cloud console, go to the **Workflows** page.\n\n\n [Go to Workflows](https://console.cloud.google.com/workflows)\n\n \u003cbr /\u003e\n\n2. To access a workflow's execution results, click the workflow's name to go\n to its **Workflow details** page.\n\n3. For details about a particular execution, on the **Executions** tab, click\n the execution ID in the list to go to its **Execution details** page.\n\n | **Note:** To access the **Execution details** page, you must have a role that contains the `workflows.workflows.get`, `workflows.executions.get`, and `workflows.stepEntries.list` permissions. For more information, see [Workflows roles and\n | permissions](/workflows/docs/access-control) and [Manage access](/iam/docs/granting-changing-revoking-access).\n4. On the **Summary** tab, each execution has the following information:\n\n - **Execution ID**: the unique identifier of the workflow execution.\n - **Execution state**: indicates the workflow's end state, including the current or final workflow step.\n - **Execution created**: when the execution was initiated.\n - **Execution start**: when the execution began running and executing steps.\n - **Execution end**: when the execution ended.\n - **Execution duration**: total time elapsed. This can be an indication of network errors or connectivity problems.\n - **Workflow name**: the workflow name.\n - **Workflow revision**: the current revision at the time of execution.\n - **Call log level** : the level of call logging applied during the execution. For more information, see [Call logging](/workflows/docs/log-workflow#call_logging).\n - **Input**: the runtime arguments passed to the workflow, if any.\n - **Output** : the workflow's output. If the execution failed, includes the exception that led to the execution's failure. In this document, see [Execution error maps](#execution_errors).\n5. To view the workflow execution history as a list of step entries, click the\n **Steps** tab. For more information, see\n [View history of execution steps](/workflows/docs/debug-steps).\n\n6. To view the logs for a workflow execution, click the **Logs** tab.\n\n7. To filter the execution logs, use the **Filter** field at the top of the\n table. For example, to display only failed execution attempts, enter\n `failed` in the filter's text field.\n\n### gcloud\n\n1. To see a full list of a workflow's executions, enter the following\n command:\n\n gcloud workflows executions list \u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e with your workflow's name.\n Copy the execution ID of the execution you're interested in.\n2. To view a workflow's execution logs, enter the following command:\n\n gcloud workflows executions describe \\\n --workflow=\u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e \\\n \u003cvar translate=\"no\"\u003eEXECUTION_ID\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e: the workflow's name\n - \u003cvar translate=\"no\"\u003eEXECUTION_ID\u003c/var\u003e: the execution's unique ID\n\n This command returns output similar to the following: \n\n ```bash\n argument: 'null'\n endTime: '2022-07-19T12:40:07.070039707Z'\n error:\n context: |-\n The argument of 'in' must be a dict or an array; got: null\n in step \"checkSearchTermInInput\", routine \"main\", line: 12\n payload: \"{\"message\":\"The argument of 'in' must be a dict or an array; got: null\"\n\n ,\"tags\":[\"TypeError\"]}\"\n stackTrace:\n elements:\n - position:\n column: '26'\n length: '24'\n line: '12'\n routine: main\n step: checkSearchTermInInput\n name: projects/1051295516635/locations/us-central1/workflows/myFirstWorkflow/executions/17ffc89c-0a27-4d2f-8356-e681d949a3d3\n startTime: '2022-07-19T12:40:07.024823663Z'\n state: FAILED\n status:\n currentSteps:\n - routine: main\n step: checkSearchTermInInput\n workflowRevisionId: 000001-ac2\n ```\n The output contains the following information:\n\n \u003cbr /\u003e\n\n - `argument`: the runtime arguments passed to the workflow, if any\n - `endTime`: when the execution ended\n - `error`: the error message thrown as a part of the exception that resulted in the execution's failure\n - `name`: the full name of the execution, including the name of the project, the location of the workflow, the name of the workflow, and the execution ID\n - `startTime`: when the execution began\n - `state`: indicates the workflow's end state\n - `status`: the current or final workflow step of the execution\n - `workflowRevisionID`: the current revision at the time of the execution\n\n### Execution error maps\n\nWhen a workflow throws an error during execution that isn't caught in a\n[`try/except` block](/workflows/docs/reference/syntax/catching-errors), the\nexecution fails, and an error map (a JSON dictionary) describing the error is\nreturned.\n\nErrors thrown during workflow execution contain tags to help you identify what\ncaused the error. For example, the error returned from a connector can have two\nkeys (`tags` and `message`) similar to the following:\n\n`{'tags': ['SystemError'], 'message': 'an error has occurred'}`\n\nThere can be more than one tag. To check for a specific tag, you can use an\n[expression](/workflows/docs/reference/syntax/expressions). For example:\n\n`${'SystemError' in e.tags}`\n\n### Access error data returned as a string\n\nSome connectors and HTTP APIs will serialize errors as strings before returning\nthe errors. You can use standard library functions to restore a payload to the\noriginal error. For example, to convert an error string to a map, you can use\nthe [`json.decode`](/workflows/docs/reference/stdlib/json/decode)\nand [`text.encode`](/workflows/docs/reference/stdlib/text/encode) functions: \n\n```bash\njson.decode(text.encode(ERROR_FROM_API))\n```\n\n### Error tags\n\nThe following table describes the meaning of different error tags.\n\nYou can also [raise custom errors](/workflows/docs/reference/syntax/raising-errors)\nusing the `raise` syntax.\n\nWhat's next\n-----------\n\n- [Debugging overview](/workflows/docs/debug)\n- [Known issues for Workflows](/workflows/docs/issues)\n- [Send execution logs to Cloud Logging](/workflows/docs/log-workflow)\n- [Troubleshoot issues](/workflows/docs/troubleshooting)"]]