В моем файле
LogicApp.parameters.json
Я объявил дополнительный параметр MyFirstNewParameter
полное содержимое файла ниже
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"logicAppName": {
"value": "MyFirstLogicAppOne"
},
"servicebus_1_connectionString": {
"value": "Endpoint=sb://notForYouToSee"
},
"MyFirstNewParameter": {
"value": "abc123"
}
}
}
В моем файле LogicApp.json я добавил «объявление» MyFirstNewParameter.
в
"параметры": {}
область (4-я строка ниже - это место, где начинается этот раздел)
И я также добавил простой ответ, который пытается прочитать значение параметра и отправить его обратно в ответ. (Названный "Read_And_Use_Parameter_Value_Simple_Response" всех вещей)
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"logicAppName": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"metadata": {
"description": "Name of the Logic App."
}
},
"logicAppLocation": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"allowedValues": [
"eastasia",
"southeastasia",
"centralus",
"eastus",
"eastus2",
"westus",
"northcentralus",
"southcentralus",
"northeurope",
"westeurope",
"japanwest",
"japaneast",
"brazilsouth",
"australiaeast",
"australiasoutheast",
"southindia",
"centralindia",
"westindia",
"canadacentral",
"canadaeast",
"uksouth",
"ukwest",
"westcentralus",
"westus2",
"[resourceGroup().location]"
],
"metadata": {
"description": "Location of the Logic App."
}
},
"MyFirstNewParameter": {
"type": "string",
"metadata": {
"description": "Name of the MyFirstNewParameter."
},
"defaultValue": "My1NewParameterDefaultValue"
}
},
"variables": {},
"resources": [
{
"name": "[parameters('logicAppName')]",
"type": "Microsoft.Logic/workflows",
"location": "[parameters('logicAppLocation')]",
"tags": {
"displayName": "LogicApp"
},
"apiVersion": "2016-06-01",
"properties": {
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Read_And_Use_Parameter_Value_Simple_Response": {
"type": "Response",
"inputs": {
"statusCode": 200,
"body": "The parameter value is ***@{parameters('MyFirstNewParameter')}***"
},
"runAfter": {}
}
},
"parameters": {},
"triggers": {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {}
}
}
},
"contentVersion": "1.0.0.0",
"outputs": {}
},
"parameters": {}
}
}
],
"outputs": {}
}
Когда я отправляю запрос, я получаю в клиенте следующее:
{
"error": {
"code": "NoResponse",
"message": "The server did not received a response from an upstream server. Request tracking id '000000000000000000000'."
}
}
Когда я проверяю портал, возникает следующая ошибка:
InvalidTemplate. Невозможно обработать выражения языка шаблонов во входных данных действия «Read_And_Use_Parameter_Value_Simple_Response» в строке «1» и столбце «1232»: «Параметр рабочего процесса« MyFirstNewParameter »не найден.»
Что делать?
Как «прочитать» параметры, определенные в LogicApp.parameters.json, в приложении Logic?
Интересующие URL
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language#parameters.
ДОБАВИТЬ С РАБОЧИМ ПРАВИЛЬНЫМ КОДОМ
Принятый ответ показывает, что существует двусмысленность с наборами параметров.
Вот исправленный рабочий ответ с однозначными названиями.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"logicAppName": {
"value": "MylogicAppName"
},
"MyFirstNewArmParameter": {
"value": "ValueIWantToSeeShowUp"
}
}
}
а также
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"logicAppName": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"metadata": {
"description": "Name of the Logic App."
}
},
"logicAppLocation": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"allowedValues": [
"eastasia",
"southeastasia",
"centralus",
"eastus",
"eastus2",
"westus",
"northcentralus",
"southcentralus",
"northeurope",
"westeurope",
"japanwest",
"japaneast",
"brazilsouth",
"australiaeast",
"australiasoutheast",
"southindia",
"centralindia",
"westindia",
"canadacentral",
"canadaeast",
"uksouth",
"ukwest",
"westcentralus",
"westus2",
"[resourceGroup().location]"
],
"metadata": {
"description": "Location of the Logic App."
}
},
"MyFirstNewArmParameter": {
"type": "string",
"metadata": {
"description": "Name of the MyFirstNewArmParameter."
},
"defaultValue": "My1NewArmParameterDefaultValue"
}
},
"variables": {
},
"resources": [{
"name": "[parameters('logicAppName')]",
"type": "Microsoft.Logic/workflows",
"location": "[parameters('logicAppLocation')]",
"tags": {
"displayName": "LogicApp"
},
"apiVersion": "2016-06-01",
"properties": {
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Read_And_Use_Parameter_Value_Simple_Response": {
"type": "Response",
"inputs": {
"statusCode": 200,
"body": "The parameter value is ***@{parameters('MyFirstNewLogicAppParameter')}***"
},
"runAfter": {
}
}
},
"parameters": {
"MyFirstNewLogicAppParameter": {
"type": "string",
"defaultValue": "MyFirstNewLogicAppParameterDefaultValue"
}
},
"triggers": {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {
}
}
}
},
"contentVersion": "1.0.0.0",
"outputs": {
}
},
"parameters": {
"MyFirstNewLogicAppParameter": {
"value": "[parameters('MyFirstNewArmParameter')]"
}
}
}
}],
"outputs": {
}
}
Теперь клиент получает ожидаемую стоимость
** Значение параметра *** ValueIWantToSeeShowUp *****
Я также нашел эту статью:
http://blog.ibiz-solutions.se/integration/logic-apps-parameters-vs-arm-parameters/
Первый абзац статей ниже, на случай, если URL-адрес перестанет работать в будущем (возможно, для поиска в Интернете, если он будет перемещен)
Параметры приложений логики и параметры ARM. У меня возник вопрос, в чем разница между параметрами шаблона ARM и параметрами приложения логики и когда их следует использовать, поэтому я постараюсь объяснить это в этой публикации. Первый из параметров шаблона ARM используется с шаблонами ARM, а шаблон ARM используется при развертывании ресурсов на основе ARM в Azure, а приложение Logic App - это ресурс, который развертывается с помощью шаблонов ARM. Язык определения рабочего процесса, лежащий в основе Logic App, очень похож на шаблоны ARM, и поэтому бывает сложно увидеть разницу в начале.
Автор: Маттиас Лёгдберг