如何在Azure Data Factory中选取blob文件逐一做schema验证及正则配置
Azure Data Factory 匹配目标文件的正则表达式
匹配你指定的3类固定前缀文件(仅日期变动)
如果你只需要匹配问题里给出的三个固定前缀的所有日期版本文件,使用以下正则:
^(L_07523_ARD_|K_08963_FEBI_|J_08427_LTRD_)(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[012])\d{4}$
规则说明:
(L_07523_ARD_|K_08963_FEBI_|J_08427_LTRD_):匹配三类文件的固定前缀,|代表或逻辑,仅筛选你指定的三类文件(0[1-9]|[12][0-9]|3[01]):校验日期的日部分,仅匹配01-31范围内的合法值(0[1-9]|1[012]):校验日期的月部分,仅匹配01-12范围内的合法值\d{4}:匹配4位年份^和$限定正则完全匹配整个文件名,避免误匹配带额外前后缀的文件
如果不需要严格校验日月合法性,只需要匹配8位数字结尾的同前缀文件,可以用简化版正则,执行效率更高:
^(L_07523_ARD_|K_08963_FEBI_|J_08427_LTRD_)\d{8}$
匹配所有同结构文件(不限定前缀)
如果你需要匹配所有「单个大写字母_5位数字_3-4位大写字母_8位日期」结构的文件,使用以下正则:
^[A-Z]_\d{5}_[A-Z]{3,4}_\d{8}$
ADF使用注意事项
- 在ADF的Get Metadata活动、复制活动的源配置中,找到文件名筛选选项,选择「正则表达式」匹配模式,直接填入上述正则即可
- 无需把Blob存储的容器路径、子路径写入正则,只需要先指定对应的路径,再配置文件名的正则规则即可
内容的提问来源于stack exchange,提问作者bigdata techie
相关产品推荐
相关产品推荐

