如何在本地调试ServiceBus触发的Azure功能?

时间:2017-08-29 09:43:33

标签: azure azureservicebus azure-functions azure-servicebus-topics

我的功能将从现有的ServiceBus主题触发。我已经使用VS2017(15.3)预览中的新工具创建了该函数,作为编译函数。

如何在本地测试此功能?

2 个答案:

答案 0 :(得分:2)

如果要检查Azure Service Bus消息是否会触发您的功能,则需要拥有Azure订阅并创建Service Bus命名空间,因为Microsoft尚未提供Azure Service仿真器等Azure Service Bus仿真器。

如果要调试函数,可以创建一个新的控制台应用程序并调用您定义的函数。以下步骤供您参考。

步骤1,创建控制台应用程序。

步骤2,将项目引用添加到功能项目中。

步骤3,从NuGet将Microsoft.Azure.WebJobs -Version 2.1.0-beta1软件包安装到您的控制台应用程序。

Install-Package Microsoft.Azure.WebJobs -Version 2.1.0-beta1 

步骤4,使用以下代码调用您的函数。

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);
    }
}

答案 1 :(得分:1)

对于非http触发的功能,您可以向本地管理员端点发送POST请求。更多信息here

像这样(我正在使用邮递员) enter image description here