Как использовать параметры внутри файла parameters.json в определении рабочего процесса приложения Azure Logic
У меня есть требование использовать параметры внутри объекта параметров рабочего процесса, как показано ниже. Но я не справляюсь с проверкой 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']"
}
}
}
}
2 ответа
Функции в выражениях вызываются с помощью скобок, а не квадратных скобок. Поэтому вы должны преобразовать свой файл в:
"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"
}
}
}
}
См. также раздел «Выражения для языка определения рабочего процесса» , поскольку в нем объясняется, каких результатов следует ожидать в зависимости от того, как вы создаете вызов.
Это не удается из-за структуры 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"
}
}
}
}
}