Puedes obtener el historial de una ejecución de flujo de trabajo específica como una lista de entradas de pasos. Cada entrada de paso proporciona información que puede ayudarte a analizar, depurar u optimizar un flujo de trabajo. Por ejemplo, puedes confirmar qué pasos se han ejecutado y determinar la duración y el éxito de un paso. Esto puede ser especialmente útil al depurar un flujo de trabajo no lineal grande o complicado (por ejemplo, uno con muchas ramas paralelas).
Una entrada de paso representa un paso real en el código fuente (por ejemplo, assign
o call
) o un bloque de instrucciones (por ejemplo, un bucle for
o un bloque try/retry/except
). Para ver una lista completa de los tipos de pasos, consulta StepType.
Nivel del historial de ejecuciones
Cuando creas o ejecutas un flujo de trabajo, puedes especificar un historial de ejecución básico o detallado. Puedes aplicar este ajuste a nivel de flujo de trabajo o de ejecución.
De forma predeterminada, no se especifica ningún nivel de historial de ejecución y se devuelven las entradas de pasos Básico.
Si quieres que el historial de ejecución incluya los valores de las variables incluidas en el ámbito y, si procede, el número esperado de iteraciones (por ejemplo, al usar un bucle for
, una rama paralela o una iteración), debes definir el nivel del historial de ejecución como Detallado.
Si no se especifica ningún nivel de historial de ejecución para una ejecución, se determina en función del nivel aplicado al flujo de trabajo. Si los niveles son diferentes, el ajuste aplicado a nivel de ejecución anula el ajuste aplicado a nivel de flujo de trabajo en esa ejecución.
Cómo obtener entradas de pasos
Puedes obtener entradas de pasos enviando una solicitud a la API REST WorkflowExecutions o a través de la Google Cloud consola:
Google Cloud Consola: en este documento, consulta Ver entradas de pasos en la consola.
Además de mostrar las entradas de los pasos y sus detalles, la consola proporciona una representación gráfica de los pasos de ejecución, lo que facilita la visualización y el análisis de la ruta de ejecución de un flujo de trabajo.
API REST Workflow Executions: en este documento, consulta Obtener una entrada de paso y Listar entradas de paso.
Información de la entrada del paso
Una entrada de paso incluye la siguiente información. Las entradas de pasos detalladas también incluyen la información básica de las entradas de pasos.
Para obtener más información, consulta los ejemplos de este documento.
Información básica sobre la entrada de pasos
Nombre | Nombre completo del recurso de la entrada del paso, que es un ID único con el siguiente formato, donde STEPENTRY_ID es un contador creciente:
|
Crear y actualizar horas | Marcas de tiempo de la hora de creación de la entrada del paso y de su última actualización. Si se ha completado una entrada de paso, updateTime indica la hora de finalización.
|
Nombres de rutinas y pasos | Nombres de la rutina y del paso al que pertenece la entrada del paso. El nombre de una rutina es el nombre del subflujo de trabajo definido en el código fuente YAML o JSON. El nombre de la rutina de nivel superior es main .
|
Estado y tipo de progreso | Estado de la entrada del paso (por ejemplo, si la entrada se ha completado correctamente o ha fallado, o si una entrada de paso está en curso y el tipo de progreso). Para ver una lista completa de los estados y tipos de progreso, consulta State y ProgressType. |
Información de navegación | Posición de la entrada del paso para que puedas entender mejor la jerarquía y el flujo del flujo de trabajo. Por ejemplo, qué entradas del paso vienen antes o después de la entrada del paso actual, o cuáles son elementos principales o secundarios de la entrada del paso. Para obtener más información, consulta NavigationInfo. |
Metadatos | Datos relacionados con una entrada de paso iterativo, que pueden incluir lo siguiente:
|
Excepciones | Carga útil relacionada con las excepciones y que proporciona una descripción de por qué ha fallado una entrada de paso. |
Información detallada sobre la entrada de pasos
Metadatos | Si procede, el número esperado de iteraciones en el progreso del paso. Por ejemplo, al usar un bucle Ten en cuenta que el recuento calculado no funcionará como se espera si los límites del bucle incluyen expresiones que incorporen alguno de los siguientes elementos:
|
Datos variables | Datos relacionados con los valores de las variables incluidas en el ámbito asociadas a este paso, incluidos los nombres y los valores de las variables locales definidas por el usuario y los resultados de las evaluaciones de expresiones. Ten en cuenta que el ámbito excluye las variables internas vinculadas a las funciones integradas de los flujos de trabajo. Para obtener más información, consulta VariableData. |
Ver entradas de pasos en la consola
Puede ver las entradas de pasos de una ejecución de flujo de trabajo específica en la Google Cloud consola.
En la Google Cloud consola, ve a la página Flujos de trabajo.
Haga clic en el nombre del flujo de trabajo para ir a la página Detalles del flujo de trabajo.
Para obtener información sobre una ejecución concreta, haz clic en su ID.
En la pestaña Resumen se proporciona información sobre la ejecución general, incluido cualquier error que haya provocado el fallo de la ejecución. Para obtener más información, consulta Mapas de errores de ejecución.
Para ver el historial de ejecución del flujo de trabajo como una lista de entradas de pasos, haz clic en la pestaña Pasos.
Se muestran todas las entradas de pasos de la ejecución del flujo de trabajo.
Para filtrar las entradas de pasos, usa el campo Filtro de la parte superior de la tabla para seleccionar una propiedad y un valor. Por ejemplo,
State: Failed
.Para mostrar los enlaces de las entradas de Padre, Hijos, Siguiente y Anterior de un paso, haz clic en la entrada de ese paso.
Si haces clic en un enlace, los demás se actualizan automáticamente. Por ejemplo, Superior enlazará con el elemento superior de la entrada del paso en el que hayas hecho clic.
El panel Visualización ofrece una representación gráfica de los pasos del flujo de trabajo y te ayuda a entender la ruta del flujo de trabajo.
Ten en cuenta que la visualización puede ser diferente de las entradas de pasos. Por ejemplo, un bloque
for
se representa como un solo componente en la visualización. Sin embargo, en función del número de iteraciones, puede haber varias entradas de pasos.En el panel, puedes hacer lo siguiente:
- Ampliar o reducir la visualización
- Ocultar o mostrar las entradas de pasos principales
- Hacer clic en una entrada de paso y ver las entradas anteriores y siguientes
- Confirma las entradas de pasos completados y fallidos, que se indican con una marca de verificación verde o un signo de exclamación rojo.
- Cierra el panel Visualización haciendo clic en la flecha para contraerlo. Vuelve a hacer clic en la flecha para abrir el panel.
Antes de obtener una entrada de pasos
Para obtener los permisos que necesitas para recuperar una entrada de paso, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Workflows (workflows.stepEntries.get
) en tu proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Recuperar una entrada de pasos
Para recuperar una entrada de paso de una ejecución de flujo de trabajo determinada, utiliza el método projects.locations.workflows.executions.stepEntries.get
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: número de tu Google Cloud proyecto, que aparece en la página IAM & Admin Settings (Ajustes de IAM y administración).LOCATION
: la región en la que se implementa el flujo de trabajo. Por ejemplo,us-central1
.WORKFLOW_ID
: el nombre que ha definido el usuario para el flujo de trabajo. Por ejemplo,myFirstWorkflow
.EXECUTION_ID
: ID único de una ejecución de flujo de trabajo que se devuelve después de ejecutar un flujo de trabajo.STEPENTRY_ID
: el ID único de una entrada de paso, por ejemplo,1
.
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID", "createTime": "2024-08-15T19:03:08.328851864Z", "updateTime": "2024-08-15T19:03:08.331099634Z", "routine": "main", "step": "checkSearchTermInInput", "stepType": "STEP_CONDITION", "state": "STATE_SUCCEEDED", "entryId": "2", "navigationInfo": { "children": [ "3" ], "parent": "1", "next": "3", "previous": "1" }, "variableData": {} }
Antes de enumerar las entradas de pasos
Para obtener los permisos que necesitas para enumerar las entradas de pasos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Workflows (workflows.stepEntries.list
) en tu proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Mostrar entradas de pasos
Para enumerar las entradas de pasos de una ejecución de flujo de trabajo determinada, utiliza el método projects.locations.workflows.executions.stepEntries.list
. De forma predeterminada, los resultados se devuelven en orden ascendente de la createTime
de las entradas de pasos.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: número de tu Google Cloud proyecto, que aparece en la página IAM & Admin Settings (Ajustes de IAM y administración).LOCATION
: la región en la que se implementa el flujo de trabajo. Por ejemplo,us-central1
.WORKFLOW_ID
: el nombre que ha definido el usuario para el flujo de trabajo. Por ejemplo,myFirstWorkflow
.EXECUTION_ID
: ID único de una ejecución de flujo de trabajo que se devuelve después de ejecutar un flujo de trabajo.
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "stepEntries": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/1", "createTime": "2024-08-15T19:03:08.328807964Z", "updateTime": "2024-08-15T19:03:08.331099694Z", "routine": "main", "step": "checkSearchTermInInput", "stepType": "STEP_SWITCH", "state": "STATE_SUCCEEDED", "entryId": "1", "navigationInfo": { "children": [ "2" ], "next": "2" }, "variableData": {} }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/2", "createTime": "2024-08-15T19:03:08.328851864Z", "updateTime": "2024-08-15T19:03:08.331099634Z", "routine": "main", "step": "checkSearchTermInInput", "stepType": "STEP_CONDITION", "state": "STATE_SUCCEEDED", "entryId": "2", "navigationInfo": { "children": [ "3" ], "parent": "1", "next": "3", "previous": "1" }, "variableData": {} }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/3", "createTime": "2024-08-15T19:03:08.331037314Z", "updateTime": "2024-08-15T19:03:08.331099554Z", "routine": "main", "step": "checkSearchTermInInput.condition1", "stepType": "STEP_ASSIGN", "state": "STATE_SUCCEEDED", "entryId": "3", "navigationInfo": { "parent": "2", "next": "4", "previous": "2" }, "variableData": { "variables": { "input": { "searchTerm": "asia" }, "searchTerm": "asia" } } }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/4", "createTime": "2024-08-15T19:03:08.331100404Z", "updateTime": "2024-08-15T19:03:08.633741469Z", "routine": "main", "step": "readWikipedia", "stepType": "STEP_CALL", "state": "STATE_SUCCEEDED", "entryId": "4", "navigationInfo": { "next": "5", "previous": "3" }, "variableData": {} }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/5", "createTime": "2024-08-15T19:03:08.633969694Z", "updateTime": "2024-08-15T19:03:08.634063018Z", "routine": "main", "step": "returnOutput", "stepType": "STEP_RETURN", "state": "STATE_SUCCEEDED", "entryId": "5", "navigationInfo": { "previous": "4" }, "variableData": { "variables": { "wikiResult": { "headers": { ... }, "body": [ ... ], "code": 200 }, "input": { "searchTerm": "asia" }, "searchTerm": "asia" } } } ], "totalSize": 5 }
Eliminar entradas de pasos
Para eliminar todas las entradas de pasos de una ejecución de flujo de trabajo determinada, usa el método projects.locations.workflows.executions.deleteExecutionHistory
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
WORKFLOW_NAME
: nombre del flujo de trabajo.PROJECT_NUMBER
: tu número de proyecto Google Cloud.LOCATION
: la región en la que se implementa el flujo de trabajo. Por ejemplo,us-central1
.EXECUTION_ID
: el ID de la ejecución de la que se deben eliminar las entradas de pasos.
Para enviar tu solicitud, despliega una de estas opciones:
Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.
Ejemplos
Flujo de trabajo con un bloque for
Flujo de trabajo
YAML
- assignStep: assign: - sum: 0 - forStep: for: range: [1, 2] value: v steps: - sumStep: assign: - sum: ${sum + v} - returnStep: return: ${sum}
JSON
[ { "assignStep": { "assign": [ { "sum": 0 } ] } }, { "forStep": { "for": { "range": [ 1, 2 ], "value": "v", "steps": [ { "sumStep": { "assign": [ { "sum": "${sum + v}" } ] } } ] } } }, { "returnStep": { "return": "${sum}" } } ]
Diagrama
for
(haz clic en el diagrama para ampliarlo).Entradas de pasos
{ "stepEntries": [ { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/1", "createTime": "2024-08-15T19:32:18.119578307Z", "updateTime": "2024-08-15T19:32:18.119661828Z", "routine": "main", "step": "assignStep", "stepType": "STEP_ASSIGN", "state": "STATE_SUCCEEDED", "entryId": "1", "navigationInfo": { "next": "2" }, "variableData": { "variables": { "sum": 0 } } }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/2", "createTime": "2024-08-15T19:32:18.119662643Z", "updateTime": "2024-08-15T19:32:18.120893531Z", "routine": "main", "step": "forStep", "stepType": "STEP_FOR", "state": "STATE_SUCCEEDED", "entryId": "2", "navigationInfo": { "children": [ "3", "5" ], "next": "3", "previous": "1" }, "stepEntryMetadata": { "progressType": "PROGRESS_TYPE_FOR", "expectedIteration": "2" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/3", "createTime": "2024-08-15T19:32:18.119732820Z", "updateTime": "2024-08-15T19:32:18.120463449Z", "routine": "main", "step": "forStep", "stepType": "STEP_FOR_ITERATION", "state": "STATE_SUCCEEDED", "entryId": "3", "navigationInfo": { "children": [ "4" ], "parent": "2", "next": "4", "previous": "2" }, "stepEntryMetadata": { "progressType": "PROGRESS_TYPE_FOR", "progressNumber": "1" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/4", "createTime": "2024-08-15T19:32:18.119737066Z", "updateTime": "2024-08-15T19:32:18.120463358Z", "routine": "main", "step": "sumStep", "stepType": "STEP_ASSIGN", "state": "STATE_SUCCEEDED", "entryId": "4", "navigationInfo": { "parent": "3", "next": "5", "previous": "3" }, "stepEntryMetadata": { "progressType": "PROGRESS_TYPE_FOR", "progressNumber": "1" }, "variableData": { "variables": { "sum": 1, "v": 1 } } }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/5", "createTime": "2024-08-15T19:32:18.120465172Z", "updateTime": "2024-08-15T19:32:18.120893471Z", "routine": "main", "step": "forStep", "stepType": "STEP_FOR_ITERATION", "state": "STATE_SUCCEEDED", "entryId": "5", "navigationInfo": { "children": [ "6" ], "parent": "2", "next": "6", "previous": "4" }, "stepEntryMetadata": { "progressType": "PROGRESS_TYPE_FOR", "progressNumber": "2" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/6", "createTime": "2024-08-15T19:32:18.120470187Z", "updateTime": "2024-08-15T19:32:18.120893389Z", "routine": "main", "step": "sumStep", "stepType": "STEP_ASSIGN", "state": "STATE_SUCCEEDED", "entryId": "6", "navigationInfo": { "parent": "5", "next": "7", "previous": "5" }, "stepEntryMetadata": { "progressType": "PROGRESS_TYPE_FOR", "progressNumber": "2" }, "variableData": { "variables": { "sum": 3, "v": 2 } } }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/7", "createTime": "2024-08-15T19:32:18.120894873Z", "updateTime": "2024-08-15T19:32:18.121003185Z", "routine": "main", "step": "returnStep", "stepType": "STEP_RETURN", "state": "STATE_SUCCEEDED", "entryId": "7", "navigationInfo": { "previous": "6" }, "variableData": { "variables": { "sum": 3 } } } ], "totalSize": 7 }
Flujo de trabajo con una llamada a un subflujo de trabajo
Flujo de trabajo
YAML
main: steps: - callStep: call: square args: x: 10 result: t - retStep: return: ${t} square: params: [x] steps: - assignStep: assign: - y: ${x*x} - retStep: return: ${y}
JSON
{ "main": { "steps": [ { "callStep": { "call": "square", "args": { "x": 10 }, "result": "t" } }, { "retStep": { "return": "${t}" } } ] }, "square": { "params": [ "x" ], "steps": [ { "assignStep": { "assign": [ { "y": "${x*x}" } ] } }, { "retStep": { "return": "${y}" } } ] } }
Diagrama
Entradas de pasos
{ "stepEntries": [ { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/1", "createTime": "2024-08-15T19:37:44.162778920Z", "updateTime": "2024-08-15T19:37:44.168683007Z", "routine": "main", "step": "callStep", "stepType": "STEP_CALL", "state": "STATE_SUCCEEDED", "entryId": "1", "navigationInfo": { "children": [ "2", "3" ], "next": "2" }, "variableData": { "variables": { "t": 100 } } }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/2", "createTime": "2024-08-15T19:37:44.168598736Z", "updateTime": "2024-08-15T19:37:44.168657969Z", "routine": "square", "step": "assignStep", "stepType": "STEP_ASSIGN", "state": "STATE_SUCCEEDED", "entryId": "2", "navigationInfo": { "parent": "1", "next": "3", "previous": "1" }, "variableData": { "variables": { "y": 100, "x": 10 } } }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/3", "createTime": "2024-08-15T19:37:44.168659349Z", "updateTime": "2024-08-15T19:37:44.168676547Z", "routine": "square", "step": "retStep", "stepType": "STEP_RETURN", "state": "STATE_SUCCEEDED", "entryId": "3", "navigationInfo": { "parent": "1", "next": "4", "previous": "2" }, "variableData": { "variables": { "x": 10, "y": 100 } } }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/4", "createTime": "2024-08-15T19:37:44.168693503Z", "updateTime": "2024-08-15T19:37:44.168702324Z", "routine": "main", "step": "retStep", "stepType": "STEP_RETURN", "state": "STATE_SUCCEEDED", "entryId": "4", "navigationInfo": { "previous": "3" }, "variableData": { "variables": { "t": 100 } } } ], "totalSize": 4 }
Flujo de trabajo con una entrada de paso fallido
Flujo de trabajo
YAML
- tryStep: try: return: ${1 / 0} except: return: 0
JSON
[ { "tryStep": { "try": { "return": "${1 / 0}" }, "except": { "return": 0 } } } ]
Diagrama
Entradas de pasos
{ "stepEntries": [ { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/1", "createTime": "2024-08-15T19:42:51.415433810Z", "updateTime": "2024-08-15T19:42:51.416106923Z", "routine": "main", "step": "tryStep", "stepType": "STEP_TRY_RETRY_EXCEPT", "state": "STATE_SUCCEEDED", "entryId": "1", "navigationInfo": { "children": [ "2", "4" ], "next": "2" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/2", "createTime": "2024-08-15T19:42:51.415439617Z", "updateTime": "2024-08-15T19:42:51.416065206Z", "routine": "main", "step": "tryStep", "stepType": "STEP_TRY", "state": "STATE_FAILED", "entryId": "2", "navigationInfo": { "children": [ "3" ], "parent": "1", "next": "3", "previous": "1" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/3", "createTime": "2024-08-15T19:42:51.415441815Z", "updateTime": "2024-08-15T19:42:51.416064665Z", "routine": "main", "step": "tryStep.try", "stepType": "STEP_RETURN", "state": "STATE_FAILED", "exception": { "payload": "{\"message\":\"ZeroDivisionError: division by zero\",\"tags\":[\"ZeroDivisionError\",\"ArithmeticError\"]}" }, "entryId": "3", "navigationInfo": { "parent": "2", "next": "4", "previous": "2" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/4", "createTime": "2024-08-15T19:42:51.416071869Z", "updateTime": "2024-08-15T19:42:51.416106840Z", "routine": "main", "step": "tryStep", "stepType": "STEP_EXCEPT", "state": "STATE_SUCCEEDED", "entryId": "4", "navigationInfo": { "children": [ "5" ], "parent": "1", "next": "5", "previous": "3" }, "variableData": {} }, { "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/5", "createTime": "2024-08-15T19:42:51.416087217Z", "updateTime": "2024-08-15T19:42:51.416106742Z", "routine": "main", "step": "tryStep.except", "stepType": "STEP_RETURN", "state": "STATE_SUCCEEDED", "entryId": "5", "navigationInfo": { "parent": "4", "previous": "4" }, "variableData": {} } ], "totalSize": 5 }
Siguientes pasos
- Descripción general de la depuración
- Monitorizar flujos de trabajo
- Solucionar problemas
- Problemas conocidos de los flujos de trabajo