Azure 函数应用 = 在本地运行单个 Azure 函数进行调试



在Visual Studio中,我创建了一个具有多个函数的Azure Function应用程序。

当我从工具栏启动函数应用调试器时,将触发所有函数。

有没有办法从Visual Studio 2017中的应用程序触发单个函数?

没有简单的方法可以实现这一点,但这是可能的。

  1. 禁用功能:

通过修改 function.json 文件:

"bindings": [
...
],
"disabled": true

或使用 [禁用] 属性:

[Disable]
[FunctionName("Function")]
[NoAutomaticTrigger]
public static void Function(string input, TraceWriter log)
{ }
  1. func run using Azure Core Tools(仅限 v1.x(

使用命令运行函数:func run <functionName>

  1. 在 host.json 文件中指定函数

在 host.json 文件中指定应运行的函数:

{ 
"functions":[ "FunctionToRun" ]
} 

正如@Pawel Maga提到的,有三种方法。

对于第三个选项,我有更好的方法(在 host.json 文件中指定函数(。

而不是弄乱host.json(我们可能会忘记在发布时撤消..我已经做了很多次:p(。

我们可以通过在local.settings.json中设置值来覆盖函数数组。

例如: 在 local.settings.json 中设置如下代码

{
"Values": {
"AzureFunctionsJobHost__functions__0":  "FunctionToRun",
"AzureFunctionsJobHost__functions__1":  "SecondFunctionToRun",
}
}

而不是在 host.json 中编写下面的代码

{ 
"functions":[ "FunctionToRun", "SecondFunctionToRun" ]
} 

作为对上述答案的更新:您似乎可以通过这种方式禁用localsettings.json中的功能。

{
"Values": {
"AzureWebJobs.MyFirstFunction.Disabled": true,
"AzureWebJobs.MySecondFunction.Disabled": true
}
}

这就是我计划为我们的团队做的事情,因为它具有"安全"选项中最好的语法(不必在发布时撤消的方法(。

看这里: https://learn.microsoft.com/en-us/azure/azure-functions/disable-function?tabs=portal#localsettingsjson

相关内容

  • 没有找到相关文章

最新更新