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:
查找和获取元数据的输出不同:
- Lookup activity读取并returns配置文件的内容
或 table.
- Get Metadata activity 检索 Azure 中任何数据的元数据
数据工厂
我们无法直接比较输出。你总是会在 if 条件表达式中得到 false
。
请尝试以下表达式:
@equals(activity('GetBlobName').output.value.name,activity('LookupBestandsnaam').output.value.bestandsnaam)
更新:
恭喜您使用另一种方法解决了:
“我现在已将 if 条件替换为存储过程,该存储过程基于 ADF 中的 look-up activity 使用 IF exists 脚本 运行。”
我正在尝试进行逻辑测试来比较两个 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:
查找和获取元数据的输出不同:
- Lookup activity读取并returns配置文件的内容 或 table.
- Get Metadata activity 检索 Azure 中任何数据的元数据 数据工厂
我们无法直接比较输出。你总是会在 if 条件表达式中得到 false
。
请尝试以下表达式:
@equals(activity('GetBlobName').output.value.name,activity('LookupBestandsnaam').output.value.bestandsnaam)
更新:
恭喜您使用另一种方法解决了:
“我现在已将 if 条件替换为存储过程,该存储过程基于 ADF 中的 look-up activity 使用 IF exists 脚本 运行。”