【问题标题】:How to use parameters inside parameters.json file in Azure Logic App Workflow definition如何在 Azure 逻辑应用工作流定义中使用 parameters.json 文件中的参数
【发布时间】:2021-12-30 03:15:15
【问题描述】:

我需要使用工作流参数对象中的参数,如下所示。但我在 Azure 验证方面失败了。

"parameters": {
    "$apprelatedparams": {
      "value": {
        "testId": "<GUID>",
        "testGroupName": "<GroupName>"
      }
    },
    "$connections": {
      "value": {
        "connectionName": {
          "connectionId": /test/@parameters['$apprelatedparams']['testId']/resourceGroups/@parameters['$apprelatedparams']['testGroupName']/providers/connectionName,
          "id": /test/@parameters['$apprelatedparams']['testId']/providers/testName
        }
      }
    }
  }

这是带有参数对象的完整工作流程-

{
  "definition": {
    "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
    "actions": {
      "Response": {
        "inputs": {
          "body": "\"message\": \"Hello World!\"",
          "statusCode": 200
        },
        "runAfter": {},
        "type": "Response"
      }
    },
    "contentVersion": "",
    "outputs": {},
    "parameters": {},
  },
  "parameters": {
      "$apprelatedparams": {
      "value": {
        "testId": "TestID",
        "testGroupName": "GroupName"
      }
    },
     "$apprelatedparamstest": {
      "value": {
        "testsId": "@parameters['$apprelatedparams']['testId']",
        "testGroupsName": "@parameters['$apprelatedparams']['testGroupName']"
      }
    }
  }
}

【问题讨论】:

    标签: azure azure-logic-apps azure-workflow-automation


    【解决方案1】:

    由于 json 的结构,这失败了。这是对我有用的 json 代码。

    {
      "parameters": {
        "$apprelatedparams": {
          "value": {
            "testId": "<GUID>",
            "testGroupName": "<GroupName>"
          }
        },
        "$connections": {
          "value": {
            "connectionName": {
              "connectionId": "test/@parameters['$apprelatedparams']['testId']/resourceGroups/@parameters['$apprelatedparams']['testGroupName']/providers/connectionName",
              "id": "/test/@parameters['$apprelatedparams']['testId']/providers/testName"
            }
          }
        }
      }
    }
    

    【讨论】:

    • 我尝试了你提到的方式,但它没有通过验证,并且出现诸如 - @parameters['$apprelatedparams']['testId'] not found 之类的错误。我正在尝试工作流定义下方的这些参数对象,例如 { "definition": {}, "parameters":{} }
    • 你能告诉我们你正在通过它吗?
    • 请查看更新后的问题。我提供了一个示例工作流定义
    • @Dev-VKP 你能帮我们看看你使用的是什么连接器
    • 我只使用 Office 365 连接。但接下来,我会集成更多的连接器
    【解决方案2】:

    Functions in expressions 使用括号而不是方括号调用。因此,您应该将文件转换为:

    "parameters": {
        "$apprelatedparams": {
          "value": {
            "testId": "<GUID>",
            "testGroupName": "<GroupName>"
          }
        },
        "$connections": {
          "value": {
            "connectionName": {
              "connectionId": "/test/@parameters('apprelatedparams')['testId']/resourceGroups/@parameters('apprelatedparams')['testGroupName']/providers/connectionName",
              "id": "/test/@parameters('apprelatedparams')['testId']/providers/testName"
            }
          }
        }
      }
    

    另请参阅Expressions for Workflow Definition Language,因为它解释了您应该期望的输出,具体取决于您构建调用的方式。

    【讨论】:

    • 我尝试了你提到的方式,但它没有通过验证,并且出现诸如 - @parameters('apprelatedparams')['testId'] not found 之类的错误。
    • 确实,根据 Swetha 的回答,有些“”不见了!已编辑!
    猜你喜欢
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 2018-10-04
    相关资源
    最近更新 更多