Azure Function App =在本地运行单个Azure Function进行调试

时间:2018-10-16 13:21:11

标签: visual-studio azure azure-functions faas

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

当我从工具栏启动Function App调试器时,将触发所有功能。

是否可以通过Visual Studio 2017中的App触发单个功能?

3 个答案:

答案 0 :(得分:3)

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

  1. Disable functions:

通过修改function.json文件:

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

或使用[Disable]属性:

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

使用命令func run <functionName>

运行功能
  1. Specify functions in the host.json file

在host.json文件中指定应运行的功能:

{ 
   "functions":[ "FunctionToRun" ]
} 

答案 1 :(得分:0)

Azure函数核心工具可让您从命令提示符或终端在本地计算机上开发和测试函数。您的本地功能可以连接到实时Azure服务,并且您可以使用完整的Functions运行时在本地计算机上调试功能。您甚至可以将功能应用程序部署到Azure订阅。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local

答案 2 :(得分:0)

正如@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" ]
}