【发布时间】:2020-09-15 08:43:58
【问题描述】:
我想在不同的环境(测试、验收、生产)中部署我的 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_ENVIRONMENT 和my local.settings.json?
具体来说,我希望函数在每晚凌晨 3 点运行,并且在 Dev 和 Acc 环境中每 5 或 10 分钟运行一次。
【问题讨论】:
标签: c# azure asp.net-core azure-functions