通过Visual Studio开发时启用/禁用Azure函数编程

通过Visual Studio开发时启用/禁用Azure函数编程,azure,azure-functions,Azure,Azure Functions,我有一套Azure功能,它们正在Visual Studio中开发。 有一个TimerTrigger功能,默认情况下,该功能通过DisableAttribute禁用。这将导致Azure portal上的“disabled”属性设置为true。 满足特殊条件后,会触发另一个函数,该函数将TimerTriggerfunction.json文件更新为“disabled”:false。这将启动计时器 但当满足另一个条件时,TimerTrigger的function.json更新为“disabled”:tr

我有一套Azure功能,它们正在Visual Studio中开发。

有一个TimerTrigger功能,默认情况下,该功能通过DisableAttribute禁用。这将导致Azure portal上的
“disabled”
属性设置为
true
。 满足特殊条件后,会触发另一个函数,该函数将TimerTrigger
function.json
文件更新为
“disabled”:false
。这将启动计时器

但当满足另一个条件时,TimerTrigger的function.json更新为
“disabled”:true,该值无效,TimerTrigger仍会激发

function.json的更新如下所述

我已经阅读了GitHub上的多个问题,仍然没有答案。 我看到了以下解决办法:

  • 尝试修改host.json文件,每次更新函数列表。但我找不到任何更改host.json文件的示例。另外,我认为这不是一种很好的方法,因为在这样的更新过程中所有函数都会重新加载,在文档中有建议只在本地调试时使用这种方法。
  • 在应用程序设置上绑定取消属性。但是我发现更新
    app.settings
    的过程非常复杂
  • 重新考虑架构方法
  • TimerTrigger的主要目的是启用并在某个服务器关闭时开始调用它(ConnectionValidator)。一旦服务器正常-禁用TimerTrigger,并继续正常工作流程


    对此有什么想法吗?也许还有其他方法可以解决这个问题?

    对于这种情况,我不会更改
    function.json
    。感觉有点不舒服

    更改应用程序设置,或者改为更改具有相同名称的环境变量,这应该具有相同的效果

    或者甚至可以一直触发计时器触发器,并检查一个前提条件作为计时器功能的第一个动作。如果不需要任何操作,请立即退出