数据工厂每 1 分钟从数据湖复制一次数据

Copy data every 1 minute from DataLake by DataFactory

我有一个具有以下文件夹结构的数据湖存储:

{YEAR}
 - {MONTH}
  - {DAY}
   - {HOUR}
     - {sometext}_{YEAR}_{MONTH}_{DAY}_{HOUR}_{Minute}_{someuuid}.json

例子

你能帮我配置数据工厂复制数据操作吗? 我需要 运行 每 1 分钟触发一次 - 将前一分钟的数据从 Data Lake 复制到 Cosmos DB 我试过这个 第一个表达式是

@formatDateTime(utcnow(),'yyyy/MM/dd/HH')

和第二个

@{formatDateTime(utcnow(),'yyyy')}_@{formatDateTime(utcnow(),'MM')}_@{formatDateTime(utcnow(),'dd')}_@{formatDateTime(utcnow(),'HH')}_@{formatDateTime(addMinutes(utcnow(), -1),'mm')}*.json

但它可以跳过一些数据,尤其是当小时变化时。 我是数据工厂的新手,不知道更有效的方法是什么。请帮忙

Pipeline Expression Language has a number of Date functions built in. You can use the addMinutes function加1分钟。

为避免时钟偏差,我将捕获 utcnow() 值并在不进行任何格式化的情况下存储它:

在另一个变量中,将一分钟添加到捕获的值而不是再次执行 utcnow():

获得这些变量后,只需使用它们来格式化日期字符串。

结果:

注意:将 concat 与 formatDateString 结合使用以获得所需的通配符值:

结果: