gpt4 book ai didi

c# - 为azure函数设置不同的计时器属性

转载 作者:行者123 更新时间:2023-12-02 07:36:26 25 4
gpt4 key购买 nike

我想在不同的环境(测试、验收、生产)中部署我的 Azure Function App。这是一个时间触发的函数,每晚在生产中运行。然而,当我测试和调试它时,即当它在 Dev 和 Acc 环境中运行时,我不希望出现这种情况。目前,我的定时器属性如下:

public class TimedAzFunction
{
// CTOR
public TimedAzFunction()
{
}

// How to set the timer (using CRON notation):
// "0 30 3 * * 1-5" for prod
// Runs every 5 mins: "0 */5 * * * *" for dev and acc
[FunctionName("TimedAzFunction")]
public async Task Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
{
// Code for function here
// ...
}
}

不幸的是,这意味着当我想要发布它时,我必须手动更改它,这很容易出错。

我尝试使用本地设置执行某些操作并评估值,然后创建一个 TimerTrigger 对象,但这不起作用。如何根据运行环境设置计时器,例如使用 AZURE_FUNCTIONS_ENVIRONMENTmy local.settings.json?具体来说,我希望该函数每晚凌晨 3 点运行一次,并且在 Dev 和 Acc 环境中每 5 或 10 分钟运行一次。

最佳答案

您可以在 Azure 门户上的函数应用程序的“应用程序设置”中添加值(在函数的每个环境中,例如 dev/prod)。 enter image description here

在您的函数代码中,只需编辑如下代码: enter image description here

当您将函数从本地部署到azure时,它将由“应用程序设置”中“myTimerCron”的值触发。

希望对你有帮助~

如果您的函数通过多个部署槽运行,请启用“添加/编辑应用程序设置”中的“部署槽设置”选项,以确保计时器设置在切换槽时不会被破坏。请参阅the Docs了解详情。

关于c# - 为azure函数设置不同的计时器属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62057849/

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