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?
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);
}
}
For a non-http triggered function, you can send a POST request to the local administrator endpoint. More info here
string msg
instead of Message msg
; 2) to do JSON escape for my test SB message like { "input": "{ \"testobj\": { \"testprop\": \"testval\"} }"
–
Vookles You run the project in debug mode and create a JSON payload for the message then you can post a complete json object in this format.
{
"input": "<trigger_input>"
}
for example
http://localhost:7071/admin/functions/OrderFunction
You can then read message in your function body and get the Json you posted.
Encoding.UTF8.GetString(message.Body)
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);
}
}
© 2022 - 2024 — McMap. All rights reserved.