In visual studio I have created an Azure Function App with several Function.
When I launch the Function App debugger from the tool bar all Functions are triggered.
Is there a way to trigger a single function from the App within Visual Studio 2017?
In visual studio I have created an Azure Function App with several Function.
When I launch the Function App debugger from the tool bar all Functions are triggered.
Is there a way to trigger a single function from the App within Visual Studio 2017?
There is no easy way to achieve this, but it is possible.
by modifying the function.json file:
"bindings": [
...
],
"disabled": true
or by using the [Disable] attribute:
[Disable]
[FunctionName("Function")]
[NoAutomaticTrigger]
public static void Function(string input, TraceWriter log)
{ }
Run function using command: func run <functionName>
In your host.json file specify functions that should be run:
{
"functions":[ "FunctionToRun" ]
}
As @Pawel Maga mentioned there are three ways.
I have a little better approach for 3rd option (Specify functions in the host.json file).
Instead of messing with host.json (we might forget to undo while publishing.. i have done it many times :p).
We can override functions array by setting value in local.settings.json.
For example: Set like below code in local.settings.json
{
"Values": {
"AzureFunctionsJobHost__functions__0": "FunctionToRun",
"AzureFunctionsJobHost__functions__1": "SecondFunctionToRun",
}
}
Instead of writing below code in host.json
{
"functions":[ "FunctionToRun", "SecondFunctionToRun" ]
}
As an update to the above answers: it appears that you can disable functions in the localsettings.json in this way.
{
"Values": {
"AzureWebJobs.MyFirstFunction.Disabled": true,
"AzureWebJobs.MySecondFunction.Disabled": true
}
}
This is what I'm planning to do for our team as it has the nicest syntax of the "safe" options (approaches that don't have to be undone on publish).