我当前正在使用Azure数据工厂从blob存储中检索固定长度的文件,并尝试将记录导入我的数据库。
Fixed-length.txt
0202212161707
1Tom
1Kelvin
1Michael
23
第一行是标题记录,以“0”开头,并显示创建时间。接下来的一行是详细记录,以“1”开头,并显示用户名。最后一行是结束记录,以“2”开头,并显示详细记录的总和。
但是,我想在插入这些记录之前验证文件的数据是否正确。我想先检查校验和是否正确,然后只插入所有以1开头的记录。
目前,我将所有这些记录逐行插入到SQL DB中,并运行存储过程来执行这些任务。是否可以使用Azure数据工厂来完成这些任务?谢谢。
1条答案
按热度按时间zpgglvta1#
我复制了您的问题,请执行以下步骤。
首先采取一个查找活动,查看文件中的所有数据,并对该数据应用筛选器。
然后取一个集合变量活动并获取最后一行的最后一个元素**,例如23为3**,并使用以下动态表达式。
然后执行一个筛选活动,以筛选具有1个前缀且具有以下项目值和条件的行
after filter执行ForEach活动以将这些值追加到数组中
然后在每个活动中获取Append变量活动,它将创建一个包含过滤值的数组。
现在,用表达式取If条件,该表达式检查集合变量1的值与Append数组变量的长度是否相同。
然后在true condition中,如果条件为true,则添加复制活动以复制数据
我的示例输出:
对于上述数据,控制将进入错误状态。
对于上述数据,控制将变为真条件。