azure 如何从Logic App中的操作中获取错误消息

mmvthczy  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(102)

我有一个逻辑应用程序,有2个与问题相关的操作。

我如何从第一个动作中获取特定的错误信息并在第二个动作中使用它(在表达式中)?我注意到有很多可能的情况。
1.内部服务器错误(500)

  1. 4xx状态代码(可以有或没有消息)
    1.操作超时,没有输出(门户仍然显示BadRequest,第3张图片)

uelo1irk

uelo1irk1#

这是一个流程,演示了要做什么...

抛出错误有很多是语义上的,但最重要的部分在底部。
基本上,在Scope部分中,我设置了一个变量,该变量将一个量除以0,正如您所期望的,该变量将抛出一个错误。
底部的Initialize Error(设置为Array)步骤读取Scope执行的结果信息。您可以通过使用result()表达式来完成此操作。
完整地说,这一步的表达式是...

result('Scope')

https://learn.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#result
...但您还需要确保将Initialize Error步骤的行为设置为在Scope中发生错误后实际触发...
https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-exception-handling?tabs=consumption#change-run-after-behavior-in-the-designer

。。。这就是那次处决的结果。。

{
    "variables": [
        {
            "name": "Error",
            "type": "Array",
            "value": [
                {
                    "name": "Set_Result",
                    "startTime": "2023-03-23T21:10:37.2196056Z",
                    "endTime": "2023-03-23T21:10:37.2664847Z",
                    "trackingId": "aae322b9-1fe5-4d64-86fe-aee282dbfad9",
                    "clientTrackingId": "08585220010487995760029287748CU07",
                    "code": "BadRequest",
                    "status": "Failed",
                    "error": {
                        "code": "InvalidTemplate",
                        "message": "Unable to process template language expressions in action 'Set_Result' inputs at line '0' and column '0': 'Attempt to divide an integral or decimal value by zero in function 'div'.'."
                    }
                }
            ]
        }
    ]
}

相关问题