gpt4 book ai didi

c# - 如何使用计时器触发器将时区传递给 Azure 函数

转载 作者:行者123 更新时间:2023-12-04 16:41:15 25 4
gpt4 key购买 nike

我创建了一个需要在美国东部标准时间上午 11 点运行的 azure 函数。我知道计时器触发器使用 UTC 但是有没有办法将上午 11 点传递给运行函数以提高可读性?

例如,这是我的运行方法,是否可以通过 X 所在的上午 11 点并指定时区?:

public static void Run([TimerTrigger("0 0 X * * *")]TimerInfo myTimer, TraceWriter log)

最佳答案

基于 Web 应用沙箱的 Azure Function。 Web 应用程序需要您首先在 env 设置中设置时区。 timetrigger 属性是函数的声明部分。这里将检查环境变量。如果没有提前设置时区的环境变量,会按照默认的UTC时间处理。

在本地运行和在 azure 上运行时,env 变量来自不同的地方。

例如,如果要设置 EST 时间。

在本地,您需要在 local.settings.json 中进行设置。像这样:

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"WEBSITE_TIME_ZONE": "US Eastern Standard Time"
}
}

在 Azure 上,在此位置设置时区(不要忘记保存更改):

enter image description here

enter image description here

来自 this doc , EST = GMT - 5. 所以在你的情况下,如果你在默认时区,你可以将 CRON 设置为 0 0 6 * * * .由于小时不能为负。所以它对你的情况有效,但不一定适用于其他情况。我建议你使用我一开始推荐的方法。

关于c# - 如何使用计时器触发器将时区传递给 Azure 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60442559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com