Azure Data Factory V2在触发管道运行时使用昨天的日期



我有一个Azure数据工厂(v2(,用于每晚(UTC凌晨2点(将数据库的内容备份到blob存储区。但是,我希望文件的名称包含生成备份的月份(dd(,但它总是在前一天。

文件名是使用表达式生成的

@{formatDateTime(pipeline().parameters.windowStart,'dd')}.json

例如,今天凌晨3点的跑步本应被称为23.json,但实际上它被称为22.json。凌晨3点是我在英国的预期运行时间,目前是英国夏令时(UTC+1(

从运行的参数来看,我可以看到windowStart确实是一天。例如,23日凌晨2点触发的今天的跑步有9/22/2020 2:00:00 AM

有人能解释为什么数据工厂会这样做吗?希望我能让它按预期工作。

这是从数据工厂导出的触发器。

{
"name": "Trigger_Copy_Transactions",
"properties": {
"annotations": [],
"runtimeState": "Started",
"pipeline": {
"pipelineReference": {
"referenceName": "Copy_Transactions",
"type": "PipelineReference"
},
"parameters": {
"windowStart": "@trigger().outputs.windowStartTime"
}
},
"type": "TumblingWindowTrigger",
"typeProperties": {
"frequency": "Hour",
"interval": 24,
"startTime": "2020-08-24T02:00:00Z",
"delay": "00:00:00",
"maxConcurrency": 50,
"retryPolicy": {
"intervalInSeconds": 30
},
"dependsOn": []
}
}
}

您可以尝试的一件事是强制文件在运行IR的同一时区生成。例如,我们有一个自托管IR,因此当我们生成文件时,它与EST时间不匹配。在这种情况下,我做了以下操作:

@concat('File_name',formatDateTime(
convertFromUtc(utcnow(),'Eastern Standard Time'),'yyyy-MM-dd'),'.txt')

也许这样做会迫使合适的日期?

运行此作业时,您是否也使用自动生成IR或自托管IR?

相关内容

  • 没有找到相关文章

最新更新