如何在Azure Logic应用程序工作流定义中使用parameters.json文件中的参数



我需要使用工作流参数Object中的参数,如下所示。但我的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']"
}
}
}
}

由于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": {
"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"
}
}
}
}

另请参阅工作流定义语言的表达式,因为它解释了根据构建调用的方式应该期望的输出。

最新更新