2017-08-18 114 views
2

我有带定时器触发器的Azure函数。禁用在Visual Studio 2017中不起作用的Azure函数的属性

public static void Run([TimerTrigger("0 */15 * * * *"), Disable("True")]TimerInfo myTimer, TraceWriter log) 

这里Disable("true")不起作用。它生成function.json"disabled": "True",这是不正确的。它应该是"disabled": True, 禁用只接受字符串值。 有什么方法可以改变它吗?或任何其他方式来禁用功能?

回答

2

禁用的属性的默认值是true

使用Disable()而不是Disable("true")

因此,代码会看起来像

public static void Run([TimerTrigger("0 */15 * * * *"), Disable()]TimerInfo myTimer, TraceWriter log)

如果要启用功能,请使用Disable("False")

+0

将此问题提交给Azure功能团队。同样的问题与门户也。 更多信息:https://github.com/Azure/azure-functions-ux/issues/1712 –

1

字符串类型值 - “disabled”:“true”也可以禁用该函数。请看下面的测试结果。

这是我的函数定义。

public static void Run([TimerTrigger("0 */5 * * * *"),Disable("true")]TimerInfo myTimer, TraceWriter log) 

这是Azure门户上发布的函数。

enter image description here

+0

这是门户网站的工作。但不适用于本地调试环境。 (Visual Studio 2017) –

+0

是的,你是对的。如果您不想运行该功能,则可以退出调试。为什么要禁用调试环境中的功能? – Amor

+0

我也测试“禁用”:在我的本地环境中为true。它也无法工作。它认为我们的本地环境将跳过这个属性,因为我们无法随时在我们当地的环境中停止该功能。 – Amor

0

您是否尝试过在您的解决方案中修改host.json?它具有以下属性供您指定在运行时加载哪些函数。

// Array of functions to load. Only functions in this list will be enabled. 
// If not specified, all functions are enabled. 
"functions": ["QueueProcessor", "GitHubWebHook"] 

请注意,如果你有你的解决方案多功能应用的项目,您还需要作出改变,以他们的相应host.json(即每个项目都有自己的host.json)

文档:https://github.com/Azure/azure-webjobs-sdk-script/wiki/host.json

相关问题