- Introdução
- Introdução aos agentes da UiPath
- Introdução aos agentes da UiPath usando o LangGraph
- Construção de um agente de pouco código no Studio Web
- Adicionando ferramentas ao seu agente UiPath
- Introdução ao fluxo do UiPath Maestro Flow
Verificar o fluxo
Verifique se o Fluxo de Observação de Preços foi criado corretamente sem erros ou avisos.
Etapa 3 - Verificar o fluxo
Nas etapas abaixo, usaremos a UiPath CLI (uip) para validar nosso fluxo e cobrir alguns avisos e erros comuns que ela coletaria. Esta seção ensina a você a usar a CLI para observar como seu fluxo está configurado e validá-lo. Fique à vontade para pular para a seção Testando o fluxo e voltar mais tarde se preferir essa abordagem.
3.1 - Confirmar os nós e conexões
Execute o seguinte comando para listar os nós:
uip maestro flow node list PriceWatch/PriceWatch.flow --output table
uip maestro flow node list PriceWatch/PriceWatch.flow --output table
A lista de nós deve conter exatamente esses seis ids:
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
Em seguida, execute o seguinte comando para verificar as conexões (bordas) entre os nós:
uip maestro flow edge list PriceWatch/PriceWatch.flow --output table
uip maestro flow edge list PriceWatch/PriceWatch.flow --output table
A lista de bordas deve conter cinco bordas e o nó Decisão deve aparecer duas vezes como uma origem, uma vez em sua porta true e uma vez em false. Um nó de decisão com uma borda de saída é o defeito estrutural mais importante nesse fluxo, e a próxima seção explica como verificá-lo.
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
Se seus IDs forem diferentes, corrija-os agora em vez de adaptar as expressões nas páginas que se seguem. Para alterar as IDs, siga as etapas descritas para como renomear uma ID de nó.
3.2 - Verificar se há avisos e erros
O validation comando lê todo o arquivo, o valida e é um bom comportamento executá-lo antes de implantar um Fluxo para exibir possíveis erros. Use o seguinte comando:
uip maestro flow validate PriceWatch/PriceWatch.flow
uip maestro flow validate PriceWatch/PriceWatch.flow
Confirme se você vê "Status": "Valid" sem campos Warnings (o campo File conterá o caminho completo e absoluto do arquivo .flow , dependendo de seu sistema operacional e nome de usuário):
{
"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"
}
}
Se você não vir nenhum Warnings, fique à vontade para pular para a próxima etapa para Testar o fluxo.
A execução do comando validate antes de executar o fluxo é altamente recomendada para evitar problemas como os mostrados abaixo. Tanto uip maestro flow debug quanto uip maestro flow publish serão concluídos com sucesso com avisos e falharão apenas se houver erros. Se você estiver configurando fluxos de trabalho de Integração contínua/Implantação contínua (CI/CD), lembre-se de adicionar uip maestro flow validate antes do comando publish para garantir que ele não publique ou implante um pacote que tenha avisos.
Avisos comuns
Aqui estão dois tipos de avisos comuns para ficar de olho e como corrigi-los:
-
Uma variável
triggerNodeIdausente em uma variável de entrada, o que significa que ela foi configurada como uma variável global, não uma variável de entrada de gatilho. As variáveis globais podem ser lidas e definidas por qualquer nó e não serão mostradas ao acionar o fluxo manualmente como um valor necessário a ser fornecido.- [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.Para corrigir esse problema, primeiro exclua a variável global
baseCurrencye, em seguida, edite o nó do gatilhostartpara adicionar a variávelbaseCurrencynesse nó (consulte a etapa 2.1). -
MISSING_OUTPUT_MAPPINGum nó Final que não define a(s) variável(is) de saída e as retornará com valoresnull- qualquer sistema downstream ou fluxo que precisar deles provavelmente falhará se os valores não forem definidos.- [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"
Cada nó final terá um campo por variável de saída criada no fluxo. Isso garante que todos os nós finais possíveis retornarão as mesmas saídas, mas a forma como elas são definidas está configurada em cada nó final individual. Uma maneira útil de pensar sobre isso é que as variáveis de entrada do nó Gatilho e a variável de saída dos nós finais são os valores de contrato necessários para esse fluxo, semelhante aos objetos de solicitação e resposta para uma chamada de API.
Se um mapeamento de saída não estiver definido em um nó Final, ele será destacado com um aviso vermelho para "End" is missing output mapping for "<name>" ao visualizar as propriedades do nó na tela no VS Code. Esse é o mesmo aviso que uip maestro flow validate mostra como MISSING_OUTPUT_MAPPING.
Agora podemos Testar o Fluxo usando o comando Depurar.