首页 > 解决方案 > 在 arm 模板中使用时区触发 azure 数据工厂无法正常工作

问题描述

我有一个 Azure 数据工厂 v2 管道,我想在每天 07:15 的计划触发器上运行。我希望这发生在荷兰时区,而不是 UTC,以便尊重夏令时。我有两个环境。一是开发人员,我通过门户手动配置了所有内容。触发器在那里工作正常。这是此环境的配置: 在此处输入图像描述

在 json 格式中,您可以看到相同的配置:

在此处输入图像描述

触发器在这里正常工作。如果我查看 Trigger Runs,Trigger 对象如下所示:

{ "name": "Trigger_421B8CAF-BE66-42CF-83DA-E3028693F304", 
"startTime": "2021-07-05T05:15:01.2896407Z", 
"endTime": "2021-07-05T05:15:01.2896407Z", 
"scheduledTime": "2021-07-05T05:15:00Z", 
"trackingId": "d84aa68c-0b6b-4b62-a1f6-b55f21d998b2", 
"clientTrackingId": "08585761447841826417038345397CU251", 
"originHistoryName": "08585761447841826417038345397CU251", 
"code": "OK", 
"status": "Succeeded" } 

检查出来,因为 UTC 时间的 5:15(如您所见时间戳用 Z 标记)正是我想要的时间,荷兰时间 7:15。

但是,如果我们现在查看我使用 ARM 模板和 Microsoft 的 pre-and-post-deploy 脚本部署的另一个环境 Test,就会出错。如果我登录到 adf 编辑器,我会看到与在 dev 上相同的内容:

在此处输入图像描述

在 Json 格式中,它也完全一样:

在此处输入图像描述

这是我的 ARM 模板中与此触发器有关的部分:

在此处输入图像描述

但是,此管道的 Trigger Run 看起来不同。

{ "name": "Trigger_421B8CAF-BE66-42CF-83DA-E3028693F304", 
"startTime": "2021-07-05T07:15:00.064236Z", 
"endTime": "2021-07-05T07:15:00.064236Z", 
"scheduledTime": "2021-07-05T07:15:00Z", 
"trackingId": "e91122c7-80fd-4018-bd2a-bfbd1ac2b288", 
"clientTrackingId": "08585761375854085799575426449CU06", 
"originHistoryName": "08585761375854085799575426449CU06", 
"code": "OK", 
"status": "Succeeded" }

您可以看到它说它从 UTC 时间 07:15 开始,即荷兰时间 9:15。此时管道也在运行,不是这个想法。我发现整个情况令人困惑,因为我似乎在做同样的事情,但不同环境的结果却不同。有没有人知道这里可能是什么问题?我绞尽脑汁,不知道有没有人以前见过这个。

标签: triggersazure-data-factoryazure-data-factory-2azure-data-factory-pipeline

解决方案


推荐阅读