使用 CI 时 Azure Functions 修改时间触发间隔

标签 azure azure-functions

假设我有一个时间触发函数,该函数只能在生产中运行,或者在生产中可能有不同的时间表,我该怎么做?

使用 CI 时,应用程序会进入只读模式,并且时间触发间隔不可配置。

最佳答案

有几个选项,但我建议您定义 TimerTrigger 以从函数应用程序的应用程序设置中获取其时间表 - 您可以在其中通过 CI 流程填充此计划,或者手动填充(如果)需要。

在 VS 2017 工具中用 C# 定义函数,您需要一个像这样的方法签名,例如

[FunctionName("MyTimerFunction")]
public static void Run([TimerTrigger("%TriggerInterval%")] TimerInfo myTimer, TraceWriter log) 

并在函数应用设置(或本地运行的 local.settings.json)中定义计时器的 CRON 间隔。

{
"Values" : {
    "TriggerInterval": "0 0 * * * *" // e.g. hourly 
  }
}

此外,如果您需要快速修复,即使您的 CI 进程已将应用程序设置为只读模式,您仍然可以将其设置为读/写,然后更新设置 - 当然,这将在下一个过程中被覆盖CI 部署到该函数应用程序的时间。

关于使用 CI 时 Azure Functions 修改时间触发间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45612508/

相关文章:

azure - 使用vagrant创建虚拟机出错

c# - 使用别名地址过滤用户 - MS Graph

powershell - 用于交换 Azure 应用服务(网站)部署槽的 Azure Powershell 脚本

git - 使用 git 部署到 Azure 网站

c# - 如何添加对 Azure Function C# 项目的引用?

azure - Azure 函数扇出/扇入函数是否始终比仅运行单个函数线程具有更好的性能?

json - 将新文档添加到 Azure 搜索索引时出错

Azure V3函数登录另一个类库

c# - 在 Azure 函数中将事件作为参数传递时,TelemetryClient.StartOperation 始终失败

azure-functions - Azure函数不向服务总线发送消息