- Einleitung
- Erste Schritte mit UiPath Agents
- Erste Schritte mit UiPath Agents mit LangGraph
- Erstellen eines Low-Code-Agents in Studio Web
- Hinzufügen von Tools zu Ihrem UiPath Agent
- Erste Schritte mit UiPath Maestro Flow
Überprüfen Sie den Flow
Stellen Sie sicher, dass der Preisüberwachungsflow korrekt ohne Fehler oder Warnungen erstellt wurde.
Schritt 3 – Überprüfen des Flusses
In den folgenden Schritten verwenden wir die UiPath CLI (uip), um unseren Flow zu validieren und einige häufige Warnungen und Fehler zu behandeln, die dabei auftreten würden. In diesem Abschnitt erfahren Sie, wie Sie die CLI verwenden, um die Konfiguration Ihres Flows zu überprüfen und zu validieren. Sie können zum Abschnitt Testen des Flows springen und später zurückgreifen, wenn Sie diesen Ansatz bevorzugen.
3.1 – Bestätigen Sie die Knoten und Verbindungen
Führen Sie den folgenden Befehl aus, um die Knoten aufzulisten:
uip maestro flow node list PriceWatch/PriceWatch.flow --output table
uip maestro flow node list PriceWatch/PriceWatch.flow --output table
Die Knotenliste sollte genau diese sechs IDs enthalten:
Id | Type | Label
----------------|---------------------|-----------------
start | core.trigger.manual | Manual trigger
fetchRate1 | core.action.http.v2 | Fetch rate
reshapeRate1 | core.action.script | Reshape rate
belowThreshold1 | core.logic.decision | Below threshold
endAlert1 | core.control.end | End alert
endNoAction1 | core.control.end | End no action
Id | Type | Label
----------------|---------------------|-----------------
start | core.trigger.manual | Manual trigger
fetchRate1 | core.action.http.v2 | Fetch rate
reshapeRate1 | core.action.script | Reshape rate
belowThreshold1 | core.logic.decision | Below threshold
endAlert1 | core.control.end | End alert
endNoAction1 | core.control.end | End no action
Führen Sie als Nächstes den folgenden Befehl aus, um die Verbindungen (Edges) zwischen Knoten zu überprüfen:
uip maestro flow edge list PriceWatch/PriceWatch.flow --output table
uip maestro flow edge list PriceWatch/PriceWatch.flow --output table
Die Edge-Liste sollte fünf Edges enthalten und der Entscheidungsknoten muss zweimal als Quelle angezeigt werden, einmal auf seinem true -Port und einmal auf false. Ein Entscheidungsknoten mit einer ausgehenden Edge ist der wichtigste Strukturfehler in diesem Flow. Im nächsten Abschnitt wird erläutert, wie Sie ihn prüfen.
Id | Source | Target
-------------------------------------------|-----------------------|----------------------
start-output-fetchRate1-input | start:output | fetchRate1:input
fetchRate1-default-reshapeRate1-input | fetchRate1:default | reshapeRate1:input
reshapeRate1-success-belowThreshold1-input | reshapeRate1:success | belowThreshold1:input
belowThreshold1-true-endAlert1-input | belowThreshold1:true | endAlert1:input
belowThreshold1-false-endNoAction1-input | belowThreshold1:false | endNoAction1:input
Id | Source | Target
-------------------------------------------|-----------------------|----------------------
start-output-fetchRate1-input | start:output | fetchRate1:input
fetchRate1-default-reshapeRate1-input | fetchRate1:default | reshapeRate1:input
reshapeRate1-success-belowThreshold1-input | reshapeRate1:success | belowThreshold1:input
belowThreshold1-true-endAlert1-input | belowThreshold1:true | endAlert1:input
belowThreshold1-false-endNoAction1-input | belowThreshold1:false | endNoAction1:input
Wenn sich Ihre IDs unterscheiden, beheben Sie sie jetzt, anstatt die Ausdrücke auf den folgenden Seiten anzupassen. Um die IDs zu ändern, führen Sie die Schritte zum Umbenennen einer Knoten-ID aus.
3.2 – Auf Warnungen und Fehler prüfen
Der Befehl validation liest die gesamte Datei, validiert sie und es empfiehlt sich, ihn auszuführen, bevor Sie einen Flow bereitstellen, um potenzielle Fehler aufzudecken. Verwenden Sie den folgenden Befehl:
uip maestro flow validate PriceWatch/PriceWatch.flow
uip maestro flow validate PriceWatch/PriceWatch.flow
Vergewissern Sie sich, dass Sie "Status": "Valid" ohne Warnings -Felder sehen (das Feld File enthält den vollständigen, absoluten Pfad der .flow -Datei, je nach Betriebssystem und Benutzername):
{
"Result": "Success",
"Code": "FlowValidate",
"Data": {
"File": "/home/user/tutorial-maestro-flow-price-watch/PriceWatch/PriceWatch.flow",
"Status": "Valid"
}
}
{
"Result": "Success",
"Code": "FlowValidate",
"Data": {
"File": "/home/user/tutorial-maestro-flow-price-watch/PriceWatch/PriceWatch.flow",
"Status": "Valid"
}
}
Wenn Sie kein Warnings sehen, können Sie mit dem nächsten Schritt zum Testen des Flows fortfahren.
Es wird dringend empfohlen, vor dem Ausführen des Flows den Befehl validate auszuführen, um Probleme wie die unten gezeigten zu vermeiden. Sowohl uip maestro flow debug als auch uip maestro flow publish werden erfolgreich mit Warnungen abgeschlossen und schlagen nur fehl, wenn Fehler aufgetreten sind. Wenn Sie CI/CD-Workflows (Continuous Integration/Continuous Deployment) einrichten, müssen Sie uip maestro flow validate vor dem Befehl publish hinzuzufügen, um sicherzustellen, dass kein Paket mit Warnungen veröffentlicht oder bereitgestellt wird.
Häufige Warnungen
Hier sind zwei gängige Warnungstypen, die Sie im Auge behalten sollten, und deren Behebung:
-
Ein fehlender
triggerNodeIdfür eine Eingabevariable, was bedeutet, dass sie als globale Variable und nicht als Trigger-Eingabevariable eingerichtet wurde. Globale Variablen können von jedem Knoten gelesen und festgelegt werden und werden beim manuellen Auslösen des Flows nicht als erforderlicher Wert angezeigt.- [variables.globals[baseCurrency].triggerNodeId] Input variable "baseCurrency" is read via `$vars.start.output.baseCurrency`, but it has no "triggerNodeId". At runtime the trigger "start" output will not contain "baseCurrency", so the value resolves to null (a downstream node may fault, e.g. "Cannot read property '…' of null"). Set "triggerNodeId": "start" on the "baseCurrency" global.- [variables.globals[baseCurrency].triggerNodeId] Input variable "baseCurrency" is read via `$vars.start.output.baseCurrency`, but it has no "triggerNodeId". At runtime the trigger "start" output will not contain "baseCurrency", so the value resolves to null (a downstream node may fault, e.g. "Cannot read property '…' of null"). Set "triggerNodeId": "start" on the "baseCurrency" global.Um dieses Problem zu beheben, löschen Sie zuerst die globale Variable
baseCurrencyund bearbeiten Sie dann den Triggerknotenstart, um die VariablebaseCurrencyauf diesem Knoten hinzuzufügen (siehe Schritt 2.1). -
MISSING_OUTPUT_MAPPING– Ein Endknoten, der die Ausgabevariable(n) nicht festlegt und sie mitnull-Werten zurückgibt – jedes nachgelagerte System oder Flow, das sie benötigt, wird wahrscheinlich einen Fehler verursachen, wenn die Werte nicht festgelegt sind.- [nodes[endAlert1].outputs.watchResult.source] [MISSING_OUTPUT_MAPPING] "End alert" is missing output mapping for "watchResult"- [nodes[endAlert1].outputs.watchResult.source] [MISSING_OUTPUT_MAPPING] "End alert" is missing output mapping for "watchResult"
Für jeden Endknoten wird ein Feld pro Ausgabevariable im Flow erstellt. Dies stellt sicher, dass alle möglichen Endknoten die gleichen Ausgaben zurückgeben. Wie sie festgelegt sind, wird jedoch auf jedem einzelnen Endknoten konfiguriert. Eine nützliche Möglichkeit, dies zu bedenken, besteht darin, dass die Eingabevariablen des Triggerknotens und die Ausgabevariablen der Endknoten die Vertragswerte sind, die für diesen Flow erforderlich sind, ähnlich wie Anforderungs- und Antwortobjekte für einen API-Aufruf.
Wenn keine Ausgabezuordnung auf einem Endknoten festgelegt ist, wird sie beim Anzeigen der Eigenschaften des Knotens auf der Arbeitsfläche in VS Code mit einer roten Warnung für "End" is missing output mapping for "<name>" hervorgehoben. Das ist die gleiche Warnung, die uip maestro flow validate als MISSING_OUTPUT_MAPPING anzeigt.
Wir können den Flow jetzt mit dem Befehl „Debuggen“ testen .