如何从另一个执行一项Azure功能并在本地进行测试?

时间:2019-08-23 09:13:16

标签: c# azure azure-functions

我有两个天蓝色的功能,一个是处理消息,另一个是发送电子邮件。

我想先在本地测试如何从另一个函数调用一个函数并在本地运行?

功能1-服务总线触发器

 [FunctionName("procesmessage")]
        public static void Run([ServiceBusTrigger("demo", "demo", AccessRights.Manage, Connection = "ServiceBusConnectionString")]string mySbMsg, TraceWriter log)
        {
        // how to call another azure function here locally?

功能2-http触发器

[FunctionName("EmailNotification")]
        public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
        {

1 个答案:

答案 0 :(得分:1)

假设您有两个功能项目A和B。

让项目A继续在localhost:7071/api/....(默认端口)上运行

更改项目B以在localhost:8888/api/...上运行,然后将命令行开关--nodeDebugPort 5859添加到启动的func主机中,以设置其中一个会话的端口。

如果要从Visual Studio中启动,则需要转到Project -> Properties -> Debug,然后在“应用程序参数”下传递一个类似于host start --pause-on-error --nodeDebugPort 5859的值。(同样,对于一个项目)