Как указать переменную / параметр в шаблоне руки моего приложения логики? - PullRequest
0 голосов
/ 31 мая 2019

Я создаю шаблон Arm для приложения логики. Это логическое приложение должно удалить некоторые старые записи в таблице Azure (скажем, 10 или 20 дней).

В моем шаблоне руки, если я делаю это, он работает.

"queries": {
            "$filter": "Timestamp le datetime'@{addDays(utcNow(),-31)}'"
  }

Но в идеале я хочу сделать это:

"queries": {
            "$filter": "Timestamp le datetime'@{addDays(utcNow(),parameters('RetainDay'))}'"
   }

В основном используйте параметр для контроля количества дней для проверки. Я определяю этот параметр как:

 "parameters": {
    "RetainDay": {
      "type": "int"
    }
  }

При развертывании этого параметра параметры ('RetainDay') не заменяются значением параметра. Вместо этого он остается таким же, как:

Timestamp le datetime'@{addDays(utcNow(),parameters('RetainDay')

Так что я должен использовать неправильный синтаксис.

Может кто-то указать на это?

Ответы [ 3 ]

1 голос
/ 31 мая 2019

Вам необходимо соединить «Параметр шаблона приложения логики» вместе с «Параметром шаблона развертывания ARM», поскольку он выглядит как одна и та же переменная, это два параметра, которые работают вместе. В моем решении у меня есть параметр с именем «CustomVariableName»

Solution file

Передача параметра Logic App Designer

Объявление CustomVariableName в «коде приложения логики» и в шаблоне ARM Logic App Code View

Значение в файле параметров Logic App parameters file

Развернутое приложение логики в Azure Deployed Azure Logic App

POST-ответ почтальона от попадания триггера HTTP (вместо значения: DefaultValue) enter image description here

0 голосов
/ 03 июня 2019

Я вижу, что ваш шаблон устанавливает только параметр retionday type, вы не устанавливаете значение. Итак, перейдите к параметру defaultValue, как показано на рисунке ниже.

enter image description here

И я просто использую этот фильтр-запрос Timestamp le datetime'@{addDays(utcNow(),parameters('retionday'))}', он заменит время.

enter image description here

Так что, пожалуйста, попробуйте, надеюсь, это поможет вам.

0 голосов
/ 31 мая 2019

Вам нужно использовать функцию concat() для достижения конкатенации строк и расширения переменных:

"$filter": "[concat('Timestamp le datetime\'@{addDays(utcNow(),', parameters('RetainDay'), ')}\'')]"

Я думаю, что вы можете экранировать ' с помощью \, если нет, вы можете создать переменную со значением ' и использовать ее вместо этого.

...