gpt4 book ai didi

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

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

我有一组Azure Functions,它们正在Visual Studio 中开发。

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

但是当满足另一个条件时,TimerTrigger 的 function.json 更新为 "disabled": true,这不起作用,TimerTrigger 仍然会触发。

function.json 的更新按照此处描述的方式执行 How to Enable/Disable Azure Function programmatically .

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

  1. 尝试修改 host.json 文件,并使用每次更新的函数列表。但我找不到任何更改 host.json 文件的示例。另外,我认为这不是很好的方法,因为在此类更新期间会重新加载所有函数,并且在文档中建议仅将此方法用于本地调试。 https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json#functions .
  2. 在 AppSetting 上绑定(bind) DisableAttribute。但我发现更新 app.settings 的过程很复杂。 Change Azure website app settings from code .
  3. 重新考虑架构方法。

TimerTrigger的主要目的是启用并在某些服务器关闭时开始调用它(ConnectionValidator)。一旦服务器正常 - 禁用 TimerTrigger,并继续常规工作流程。

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

最佳答案

对于这种情况,我不会更改function.json。感觉很老套。

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

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

关于通过 Visual Studio 开发时以编程方式启用/禁用 Azure 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50066171/

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