Azure Logic App检查空字符串变量的条件失败问题已解决
解决Azure Logic App中空字符串变量条件判断失效的坑
问题背景
最近在Azure Logic App(LA)里折腾流程时卡壳了:我提前初始化了一个变量,后续想通过条件判断它是不是空字符串。从运行历史的输出明明能看到变量就是空的,但条件判断死活不生效,连个靠谱的提示都没有。
我一开始以为是判断方式不对,试了好几种写法:
- 直接把变量和
null做比较 - 用
empty()函数包着变量再和true对比
结果全不管用,差点以为Logic App对空字符串的处理有什么奇怪的规则。
真相大白
还好Thomas点醒了我——问题根本不是空字符串的检查方式错了,而是流程里某个子操作出了问题!那个子操作偷偷改了变量的状态,导致我看到的运行历史输出和变量真实值对不上,才让条件判断看起来失效了。
给大家的排查建议
如果你们也遇到类似的变量判断异常,别死磕表达式本身:
- 先把所有碰过这个变量的操作都过一遍,看看有没有隐藏的赋值或者变更
- 在条件判断前加个Compose操作,实时输出变量的真实值,方便排查
- 优先用官方推荐的
empty(variables('你的变量名'))来做空值检查,确保语法没问题
内容的提问来源于stack exchange,提问作者Joe Eng
相关产品推荐
相关产品推荐

