Logic App将Outlook附件复制到Azure Blob存储时的嵌套循环与报错问题
Logic App嵌套For_each循环InvalidTemplate报错修复
问题场景
创建Logic App集成Outlook邮件账户与Azure Blob存储时,选择动态附件名称作为Blob名称,系统自动生成了嵌套的For_each_1和For_each循环(此前仅生成单个For_each循环)。触发邮件处理时出现以下错误:
InvalidTemplate,无法计算操作'For_each_1'的模板语言表达式'triggerBody()['value']',原因是属性'value'不存在,可用属性包括Id、DateTimeReceived、HasAttachment、InternetMessageId、Subject、BodyPreview、Importance、ConversationId、IsRead、IsHtml、Body、From、To、Cc、Bcc、ReplyTo、Attachments。
解决方法
- 问题核心:新版本Outlook触发器返回的是单条邮件对象,不再包含
value数组,但自动生成的外层For_each_1仍使用旧结构的triggerBody()['value']表达式,导致找不到对应属性。 - 修复步骤:
- 删除自动生成的外层
For_each_1循环,仅保留用于遍历附件的内层For_each循环。 - 修改内层
For_each的循环源,将原来的triggerBody()['value']替换为triggerBody()['Attachments'],直接指向当前邮件的附件集合。 - 确认Blob名称的动态内容仍正确绑定到附件的
Name属性,保存流程后重新测试。
- 删除自动生成的外层
内容的提问来源于stack exchange,提问作者Ram Grandhi
相关产品推荐
相关产品推荐

