检查Azure数据工厂中getmetadata活动返回的文件计数

时间:2020-07-07 07:49:48

标签: azure azure-data-factory

如何通过Azure数据工厂中的getmetadata活动返回多少个文件名/文件夹名?

我想获取getmetadata活动返回的文件/文件夹的数量,并根据此计数确定将执行哪些活动。

任何人都不知道我们如何获得此计数?

3 个答案:

答案 0 :(得分:1)

感谢那些发表评论并特别感谢Steve Zhao的人。

实际上,我想检查文件是否存在,即长度是否大于0,然后转到流程A,否则选择流程B。

我已经尝试在表达式中使用独立的更大和长度函数(greater(length(activity('GETFILENAMESFROMBLOB'.. output.childitems),0))来计算长度,但是当子项为0时,但是我尝试了上一个活动,即GETMETADATA在其输出中不包含childitems数组,因此我的If条件活动给出了错误,指出属性childitems不存在。

我也尝试了空函数,但是主要问题是,当没有用于getmetadata的输入文件时,我们不应该期望在其输出中出现childitems数组。

所以这是我解决问题的方式,首先我检查了getitemadata活动输出中是否存在childitems数组,然后我们将使用长度函数获取实际计数,否则expression必须返回0。用于if条件Activity的表达式。请检查。

表达式:

@if(contains(activity('GETFILENAMESFROMBLOB')。output,'childitems'),length(activity('GETFILENAMESFROMBLOB')。output.childitems),equals(2,3))< / strong>

希望这对您有帮助!

答案 1 :(得分:0)

请尝试以下操作:

管道的屏幕截图: enter image description here

  • 获取元数据1的设置 enter image description here

  • If条件1的设置

表达式:@greater(length(activity('Get Metadata1')。output.childItems),100)

enter image description here

希望这可以为您提供帮助:)。

答案 2 :(得分:0)

IF条件活动代码中的以下代码应满足 filecount> 0 逻辑。 @greater(string(length(activity('Get Metadata1')。output.childitems)),'0') enter image description here