Как использовать значение параметра в длинной строке в приложении логики?

Это действие моего приложения логики —

"actions": {
  "Call_API": {
    "runAfter": {},
    "type": "Http",
    "inputs": {
      "headers": {                 
        "Ocp-Apim-Subscription-Key": "[parameters('key')]"
      },
      "method": "GET",
      "queries": {                     
        "$filter": "(addressnumber eq '[parameters('add_number')]')"
      },
      "retryPolicy": {
        "type": "none"
      },
      "uri": "[parameters('url')]"
    }
  }
}

Я передал все значения параметров в файл параметров. После развертывания он отлично работает для Ocp-Apim-Subscription-Key и uri, но для $filter отображается та же строка, что и вместо значения параметра add_number. почему мой синтаксис неверен?

выход идет -

"actions": {
  "Call_API": {
    "runAfter": {},
    "type": "Http",
    "inputs": {
    "headers": {                 
      "Ocp-Apim-Subscription-Key": "ce34s3cdfq3q43efwe"
    },
    "method": "GET",
    "queries": {                     
      "$filter": "(addressnumber eq '[parameters('add_number')]')"
    },
    "retryPolicy": {
      "type": "none"
    },
    "uri": "http://demo.com/api"
    }
  }
}

для $filter я ожидал вывода вроде "$filter": "(addressnumber eq '123')"


person Neo    schedule 28.01.2020    source источник


Ответы (2)


Поскольку вы используете здесь параметры ARM, у вас, вероятно, должно быть что-то вроде этого.

"$filter": "[concat('(addressnumber eq ''', parameters('add_number'), ''')')]"
person PramodValavala-MSFT    schedule 31.01.2020

В простых случаях предлагаемый метод concat ARM работает нормально, но он легко может запутаться, если у вас есть более сложные выражения.

Другой вариант — использовать вместо этого параметры приложения логики и установить это значение в шаблоне ARM. Преимущество этого подхода заключается в том, что вы также можете установить значение параметра без запуска развертывания ARM, обновив значение параметра приложения логики из командной строки.

Ссылка на документы: https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-resource-manager-templates-overview#workflow-definition-and-parameters< /а>

person Esa Vanhanen-Varho    schedule 31.01.2020