我正在使用Office 365发送电子邮件连接器将电子邮件发送给多个用户。
电子邮件地址的值是由参数和以下表达式之一确定的:连接器的Json视图
"Send_an_email_3": {
"inputs": {
"body": {
"Body": "Test",
"Cc": "@concat([parameters('email-address')],';',@{items('For_each_6')?['ChallengedBy']})",
"IsHtml": true,
"Subject": "Test" "To": "[parameters('dtf-email-address')]"
},
但是,CC选项中的@concat语句不起作用。
“抄送”: “ @concat([parameters('email-address')],';',@ {items('For_each_6')?['ChallengedBy']}
错误消息:
:“模板验证失败:'模板操作 第'1'行和第'130951'列中的'Send_an_email_3'无效: 模板语言表达 '[parameters('email-address')]; @items('For_each_6')?['ChallengedBy'];'不是 有效:字符串字符“;”在位置“ 36”不是 预期。\”。'。”
确定了参数值,但表达式未更改,应该按主题行对其进行求值。
答案 0 :(得分:0)
根据我的测试,您可以尝试使用以下代码进行测试。
"Cc": "@{concat(parameters('email-address'),';',items('For_each_6')?['ChallengedBy'])}"
答案 1 :(得分:0)
如果我正确理解,您正在尝试将ARM模板参数[parameters('email-address')]
传递给Logic App Workflow定义语言函数@concat()
。添加在部署时要解析的ARM模板表达式和函数的方式可能会导致在执行时对Logic Apps表达式和函数进行评估的方式可能很麻烦。当您在Logic Apps中具有字符串函数(例如@concat()
)接受要从ARM模板表达式(例如[parameters()]
或[variables()]
获取的值的字符串函数时,事情会变得更加困难。在运行时,@concat()
函数要求类似
"Cc": "@concat('youremail@domain.com',';',@{items('For_each_6')?['ChallengedBy']}
使用ARM模板参数当前不是您要使用的参数。
一种方法是避免在Logic App工作流定义中使用ARM模板参数。即,创建一个从ARM模板参数获取值的Logic App参数,然后在@concat()
函数中使用Logic App参数。
您可以在这篇文章中阅读有关如何执行此操作的完整说明
https://platform.deloitte.com.au/articles/preparing-azure-logic-apps-for-cicd
HTH
答案 2 :(得分:0)
在您的ARM JSON模板中尝试以下表达式,
[concat(parameters('email-address')],'';'','@{items(''For_each_6'')?[''ChallengedBy'']}')]
如果您可以提供“ CC”字段的原始源代码,则会更有帮助。