Azure Logic App变量间赋值出现值不一致,是否为平台Bug?
可能的错误原因排查点
- 循环并发设置问题
Azure Logic App的For each循环默认开启多并发执行,最大并发数为20。如果你定义的Input ID、Message to User变量是在循环外初始化的全局变量,多个迭代同时修改变量时会出现值覆盖的情况,最终导致两个变量读取到的是不同迭代的赋值结果。你可以进入For each的设置界面,将并发控制改为按顺序运行(并发数设为1)验证是否解决问题。 - 动态内容选择错误
给Message to User赋值时,动态内容面板里Excel表的Input ID字段和你自定义的Input ID变量显示名称高度相似,很容易选错。你可以点开Message to User赋值动作的代码视图,确认赋值的表达式为variables('Input ID'),如果出现items('For_each')?['Input ID']就说明你选成了Excel表的原始字段,而非你定义的变量。 - 变量类型不匹配
检查两个变量初始化时设置的类型是否一致:比如Input ID设置为整型,Message to User设置为字符串型时,赋值时会触发自动类型转换,若原始Input ID是带前导零的数值(如000123),转成整型后会丢失前导零变成123,就会出现值不一致的情况。 - 动作执行顺序错误
确认For each循环内的动作执行顺序完全符合你的设计逻辑:先执行Excel行读取→再给Input ID变量赋值→最后给Message to User变量赋值。如果中间穿插了其他修改变量的动作,或是赋值顺序颠倒,也会导致两个变量值不同。
内容的提问来源于stack exchange,提问作者slyp93
相关产品推荐
相关产品推荐

