azure - Azure 中带有 if 条件事件的正则表达式

标签 azure azure-data-factory

我想使用 Azure 数据工厂中的 if condition 事件检查文件名中是否包含日期模式 (dd-mmm-yyy)。例如:我的文件名类似于 somestring_23-Apr-1984.csv,其中包含日期模式。

我使用获取元数据事件获取文件名,并将其传递给if条件事件,我想在其中检查文件名中是否包含日期模式,并且根据结果​​我想执行不同的任务。我知道执行此操作的唯一方法是使用正则表达式来检查该模式在文件名字符串中是否可用,但是,Azure 没有 documentation 中提到的正则表达式解决方案。 .

还有其他方法可以实现我在 ADF 中的要求吗?非常感谢您的帮助。

最佳答案

是的,表达式中没有正则表达式。还有另一种方法可以做到这一点,但它非常复杂。

首先,从获取元数据的输出中获取日期字符串(23-Apr-1984)。

然后,分割日期字符串并确定每个部分是否匹配日期模式。

下面是我的测试管道:

total

第一个设置变量:

name: fileName
value: @split(split(activity('MyGetMetadataActivity').output.itemName,'_')[1],'.csv')[0]

第二个设置变量:

name: fileArray
value: @split(variables('fileName'),'-')

如果条件:

Expression:@and(contains(variables('DateArray'),variables('fileArray')[0]),contains(variables('MonthArray'),variables('fileArray')[1]))

顺便说一句,我本来想将日期与0和30进行比较,但是greaterOrEquals()不支持嵌套属性,所以我使用contains()

希望这可以帮助你。

关于azure - Azure 中带有 if 条件事件的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62525120/

相关文章:

ruby - Azure SAS URL 上的签名不匹配

azure - 如何将 SAML 外部身份提供商添加到 Azure Active Directory?

azure - 重新运行(重新安排)一次性管道

azure - 如何实现一个管道,其中每个管道内的事件针对查找值输出数组的特定子集运行?

unix-timestamp - 使用 unix-timestamp 从数据工厂过滤 DocumentDb 集合

Azure 函数 key 保管库

asp.net-mvc - 在单个 IIS 服务器上部署使用 Azure AD 进行身份验证的两个应用程序时,身份验证页面不断无限循环

sql-server - 无法从 Qubole 中的 Presto 连接 ms sql server

azure - 如何更改 Microsoft Integration Runtime CONfiguration Manager 中的数据工厂?

c# - 如何使用 Azure 批处理和数据工厂的 Azure Analysis Services 进行身份验证