azure - 如何从逻辑应用程序中的操作获取错误消息

标签 azure azure-logic-apps azure-logic-app-standard

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

pic1

我如何从第一个操作中获取特定的错误消息并在第二个操作中使用它(在表达式中)? 我注意到有很多可能的情况。

  1. 内部服务器错误 (500),没有消息
  2. 4xx 状态代码(可以包含或不包含消息)
  3. 操作超时并且没有输出(门户仍然显示 BadRequest,第 3 张图片)

pic 2 pic 3

最佳答案

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

Flow

很多都是抛出错误的语义,但最重要的部分在底部。

基本上,在 Scope 部分中,我设置了一个将金额除以 0 的变量,正如您所期望的,这会引发错误。

底部的初始化错误(设置为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

Configure After

...这是执行的结果...

Error

{
    "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'.'."
                    }
                }
            ]
        }
    ]
}

关于azure - 如何从逻辑应用程序中的操作获取错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75825959/

相关文章:

azure - Azure 逻辑应用(标准)中缺少 "schedule delay"连接器

azure - 如何在逻辑应用程序中将内容类型应用程序八位字节流转换为 csv?

java - 通过代理服务器指定 proxyUser 和 proxyPassword Microsoft Azure Storage SDK for Java

azure - 从 Azure 提供 WOFF 字体时出现 SECURITY_DENIED_BY_MIMEMAP 错误

azure - 如何访问 Azure 虚拟网络中的专用 VM

azure - 如何使用逻辑应用程序标准将实体插入Azure表存储?

azure - 使用 Azure DevOps 管道自动将 Azure 逻辑工作流迁移到空逻辑应用

azure - Pyspark - 将具有数组结构的列扩展为新列

azure - 部署逻辑应用 API 连接,提供不记名 token

azure - 尝试使用 ARM 模板与现有 vnet 和子网创建逻辑应用程序,但出现委派错误