My function will be triggered from an existing ServiceBus topic. I have created the function using the new tooling in VS2017 (15.3) preview, as a compiled function.
How can I test this function locally?
If you want to check whether your function will be triggered by Azure Service Bus messages, you need to own a Azure Subscription and create a Service Bus namespace because Microsoft haven't provided Azure Service Bus emulator like Azure Storage emulator.
If you want to debug your function, you could create a new console application and invoke the function you defined. Steps below are for your reference.
Step 1, Create a Console Application.
Step 2, Add Project reference to the function project.
Step 3, Install Microsoft.Azure.WebJobs -Version 2.1.0-beta1 package from NuGet to your console application.
Install-Package Microsoft.Azure.WebJobs -Version 2.1.0-beta1
Step 4, Use following code to invoke your function.
class Program
{
static void Main(string[] args)
{
Function1.Run("msg1", new MyTraceWriter(TraceLevel.Info));
}
}
public class MyTraceWriter : TraceWriter
{
public MyTraceWriter(TraceLevel level) : base(level)
{
}
public override void Trace(TraceEvent traceEvent)
{
Console.WriteLine(traceEvent.Message);
}
}