Как использовать значение параметра в длинной строке в приложении logi c? - PullRequest
0 голосов
/ 28 января 2020

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

"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')"

Ответы [ 2 ]

0 голосов
/ 31 января 2020

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

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

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

0 голосов
/ 31 января 2020

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

"$filter": "[concat('(addressnumber eq ''', parameters('add_number'), ''')')]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...