Azure Logic Apps出现ExpressionEvaluationFailed错误,请求协助排查
Microsoft Forms + Azure Logic Apps 入职自动化程序报错排查
问题现象
- 搭建的入职自动化流程仅包含2个步骤,运行时触发错误:
For_each模板操作执行失败,foreach表达式@triggerBody()?['value']的结果为Null类型,必须是有效数组 - 重新配置For_each步骤后问题未解决
- 移除For_each步骤后流程仍报错
关联代码片段
{ "type": "ApiConnection", "inputs": { "host": { "connection": { "referenceName": "microsoftforms" } }, "method": "get", "path": "/formapi/api/forms('@{encodeURIComponent('9Ywju8lmBkaYUqnz4XgtY3wbRXZdAfZPsqOnuOYzwdVUMlpPTkFTTzVCU1k3QjNZNThNTklHRjJYTS4u')}')/responses", "queries": { "response_id": "@items('For_each')?['resourceData']?['responseId']" } }, "runAfter": {}, "operationOptions": "DisableAsyncPattern, DisableAutomaticDecompression" }
问题排查方向
For_each 数据源为空
@triggerBody()?['value']返回Null,说明触发器没有输出预期的数组数据。检查触发器类型是否为Microsoft Forms的「当有新响应时」,确认配置正确且表单已有提交的响应数据。移除For_each后的依赖错误
代码中的@items('For_each')?['resourceData']?['responseId']完全依赖For_each循环的上下文,移除循环后这个表达式会找不到对应变量,必然报错。若改为单响应处理,需将该参数改为直接从触发器输出中获取响应ID,比如@triggerBody()?['resourceData']?['responseId']。表单ID有效性验证
确认encodeURIComponent包裹的表单ID与实际Microsoft Forms的ID一致,避免因ID错误导致API调用返回空数据,进而引发后续流程异常。
内容的提问来源于stack exchange,提问作者Norbert
相关产品推荐
相关产品推荐

