我有一个具有以下文件夹结构的 Data Lake 存储:
{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有数量Date functions内置。您可以使用 addMinutes function添加 1 分钟。
为了避免时钟偏差,我会捕获 utcnow() 值并在不进行任何格式化的情况下存储它:
在另一个变量中,为捕获的值添加分钟,而不是再次执行 utcnow():
结果:
注意:使用 concat 与 formatDateString 来获取所需的通配符值:
结果:
关于azure - 通过数据工厂每 1 分钟从 Data Lake 复制一次数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66806947/