Azure-Data-Factory - If Condition returns false 尽管在逻辑上为真

Azure-Data-Factory - If Condition returns false despite being logically true

我正在尝试进行逻辑测试来比较两个 activity 输出。 第一个是返回一个文件名(从 GetMetaData 派生),另一个是数据库中已有的不同文件名(从查找 Activity 派生)。

所以第一个 activity 给出 X.csv(Blob0 中的一个文件,而第二个给出一个列表 Y.csv;Z.csv(结果查找 Select 不同于 table X) 基于这个结果,我会说逻辑测试是正确的,所以 ADF 必须启动一个特定的 activity。我正在使用下面的表达式,但尽管事实上没有错误,但结果总是错误的。我究竟做错了什么?我想这与查找有关 activity 因为查询会给出我认为的值列表。

请帮忙提前致谢!

@equals(activity('GetBlobName').output,activity('LookupBestandsnaam').output)

输出activity LookupBestandsnaam:

输出activityGetBlobName:

查找和获取元数据的输出不同:

我们无法直接比较输出。你总是会在 if 条件表达式中得到 false

请尝试以下表达式:

@equals(activity('GetBlobName').output.value.name,activity('LookupBestandsnaam').output.value.bestandsnaam)

更新:

恭喜您使用另一种方法解决了:

“我现在已将 if 条件替换为存储过程,该存储过程基于 ADF 中的 look-up activity 使用 IF exists 脚本 运行。”