看起来 Azure 函数的 zip 文件中的 function.json 定义了 Az func 的触发器。是否可以通过编程方式将触发器从基于计时器的触发器更改为基于事件的触发器?意思是,我可以在本地计算机上运行一个 python 应用程序吗?它调用 Azure python sdk 并说嘿,将 Azure Function x 的触发器从基于计时器的触发器更改为基于事件中心的触发器,这里是附加的事件中心命名空间名称和连接字符串信息你需要的。
这不可能。
但是,我可以想到以下解决方法,它应该可以实现目标。
首先,您可以在一个函数项目(一个函数应用服务)中定义多个函数触发器。他们可能会绑定到不同的目标。像这样的东西:
public static class Functions
{
[FunctionName("FunctionTimer")]
public static async Task RunAsync([TimerTrigger("%Schedule%")]TimerInfo myTimer, ILogger log)
{
if (!AppSettings.IsTimerTriggerActive)
return;
...
}
[FunctionName("FunctionEventHub")]
public static async Task RunAsync([EventHubTrigger("", Connection = "eventHubConnectionString")] EventData[] eventDataBatch, ILogger log)
{
if (!AppSettings.IsEventHubTriggerActive)
return;
...
}
}
您无法以编程方式启用/禁用某项功能,但您可以通过应用服务应用程序设置控制其中哪一项处于活动状态。后者可以通过 Web App API 进行管理:https://learn.microsoft.com/en-us/rest/api/appservice/webapps/updateapplicationsettings https://learn.microsoft.com/en-us/rest/api/appservice/webapps/updateapplicationsettings
因此您可以激活任一触发器。如果这与逻辑兼容,人们甚至可以跳过激活(停用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)