Azure Data Factory V2在触发管道运行时使用昨天的日期
我有一个Azure数据工厂(v2),用于每晚(UTC凌晨2点)将数据库内容备份到blob存储。但是,我希望文件名包含生成备份的月份(Azure Data Factory V2在触发管道运行时使用昨天的日期,azure,triggers,azure-data-factory-2,Azure,Triggers,Azure Data Factory 2,我有一个Azure数据工厂(v2),用于每晚(UTC凌晨2点)将数据库内容备份到blob存储。但是,我希望文件名包含生成备份的月份(dd),但它总是在前一天 文件名是使用表达式生成的- @{formatDateTime(pipeline().parameters.windowStart,'dd')}.json 例如,今天凌晨3点的运行应该被称为23.json,但实际上它被称为22.json。凌晨3点是预期的运行时间,因为我在英国,目前在英国夏令时(UTC+1) 查看运行的参数,我可以看到win
dd
),但它总是在前一天
文件名是使用表达式生成的-
@{formatDateTime(pipeline().parameters.windowStart,'dd')}.json
例如,今天凌晨3点的运行应该被称为23.json
,但实际上它被称为22.json
。凌晨3点是预期的运行时间,因为我在英国,目前在英国夏令时(UTC+1)
查看运行的参数,我可以看到windowStart
确实是一个休息日。例如,23日凌晨2点触发的今天的跑步时间是2020年9月22日凌晨2:00:00
有谁能解释为什么Data Factory会以这种方式运行,以及我希望如何使其按预期工作
这是从数据工厂导出的触发器
{
"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?非常好,谢谢,现在备份的名称与我预期的完全一致。