更改数据工厂窗口时区

问题描述 投票:0回答:1

我在管道中有一个需要在悉尼时间凌晨2点运行的活动,并从前一天凌晨2点到运行日期的凌晨2点选择时间片数据。

02:00 sydney是15:00 UTC,所以我在我的数据集和管道中指定

"availability": {
        "frequency": "Day",
        "interval": 1,
        "offset":"15:00:00"
    },

我在复制活动中有一个选择查询

"oracleReaderQuery": "`$`$Text.Format('select * FROM table WHERE juliandate  >= TO_NUMBER(TO_CHAR(TO_DATE(\\'{0:yyyy-MM-dd}\\',\\'YYYY-MM-DD\\'), \\'YYYYDDD\\'))-1900000 and juliandate < TO_NUMBER(TO_CHAR(TO_DATE(\\'{1:yyyy-MM-dd}\\',\\'YYYY-MM-DD\\'), \\'YYYYDDD\\'))-1900000', WindowStart, WindowEnd)"

现在管道似乎在凌晨2点的正确时间运行,但是,传递给查询的窗口日期似乎仍然是UTC - 请参阅下面的运行3月1日凌晨2点

enter image description here

我可以通过添加查询本身的11个小时来解决这个问题,但它似乎有点变通方法 - 并且必须有更好的方法吗?

azure-data-factory
1个回答
1
投票

你改变的是它运行的时间,但这并不会使数据工厂使用另一个时区。您的查询中的WindowStart和WindowEnd将始终采用UTC格式,您可以在此处投票选择更改时区的想法,但这个想法自2015年以来一直存在,大多数人通过添加小时来修复它:https://feedback.azure.com/forums/270578-data-factory/suggestions/10879920-allow-setting-the-timezone-for-slices

你可以使用其中的一些功能来获得你想要的东西(很可能是AddHours(X,Y)):https://docs.microsoft.com/en-us/azure/data-factory/v1/data-factory-functions-variables#data-factory-functions

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.