使用下面的代码作为示例(会有更多结果),我正在构造一个if true / false语句,它将输入作为大写或小写。我不确定如何利用tolower()函数来强制输入始终为语句的小写。
[
{
"VM": "MyVM1",
"Success": true,
"PSComputerName": "localhost",
"PSShowComputerName": true,
"PSSourceJobInstanceId": "5e18cd92-5676-4ed6-a7e4-14b0d9fea3b3"
},
{
"VM": "MyVM2",
"Success": true,
"PSComputerName": "localhost",
"PSShowComputerName": true,
"PSSourceJobInstanceId": "5e18cd92-5676-4ed6-a7e4-14b0d9fea3b3"
}
]
如您所见,我尝试使用以下条件:
@contains(tolower(items('For_each')['VM'], 'myvm1'))
但是,当运行逻辑应用程序时,我会看到以下错误输出:
InvalidTemplate。无法处理模板语言表达式 行''条件'在第'1行'和第'2179行:''模板 语言函数'tolower'需要一个参数:字符串to 转换为下壳。使用'2'参数调用该函数。 有关用法,请参阅https://aka.ms/logicexpressions#toLower 的信息。'。
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language
我查看了文档,但遗憾的是我不太了解如何编辑此查询。任何帮助都会非常感激
答案 0 :(得分:2)
所以...错误是正确的。你当前的表达
@contains(tolower(项目(' For_each')[' VM'],' myvm1'))
将两个参数传递给tolower()
@contains(tolower(项目(' For_each')[' VM'],' myvm1' ))
项目(' For_each')[' VM'] - 和 - ' myvm1'
也许你真的想要
@contains(tolower(项目(' For_each')[' VM']),' myvm1')
答案 1 :(得分:1)
@ John-305的回答是正确的。你的陈述有问题。 正确的陈述是:
“@ contains(tolower(items('For_each')['VM']),'myvm1')”
尝试使用此逻辑应用程序作为参考:
[ServiceContract]
public interface IProcessingService
{
[OperationContract]
JobInformation ProcessJob(JobInformation info, out Exception exception);
}