Azure servicebus 触发队列在本地调试中未命中代码

sam*_*sam 2 azureservicebus azure-servicebus-queues azure-functions visual-studio-2017 service-bus-explorer

使用服务总线触发器创建 Azure 函数并部署在 azure 门户中。使用 servicebusexplorer,将队列发送到门户并正常工作。但是在azure中停止该功能后,将消息从资源管理器发送到visual studio中的本地代码进行调试。但它不会火。
我在 local.settings.json 中给出了服务连接字符串,队列名称是正确的。从 Visual Studio 运行该函数后,它会在 azure CLI 中抛出错误。

错误:

MessageReceiver 错误 (Action=Receive, ClientId=MessageReq.queue, Endpoint=sss-bbbb.servicebus.windows.net)xxxxx.queue, EntityPath=sss.ccccc
Microsoft.Azure.ServiceBus:连接尝试失败,因为连接方没有一段时间后正常响应,或建立连接失败,因为连接的主机未能响应 ErrorCode: TimedOut。System.Private.CoreLib:连接尝试失败,因为连接方在一段时间后没有正确响应,或者因为连接的主机没有响应而建立连接失败。

本地设置.json

   {    
        "IsEncrypted": false,    
      "Values":     
     {     
          "AzureWebJobsStorage": "UseDevelopmentStorage=true",     
          "AzureWebJobsDashboard": "UseDevelopmentStorage=true",    
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",     
          "ServiceBusConnectionString": "Endpoint=//",    
          "RequestTimeout": "600000"    
      }      
Run Code Online (Sandbox Code Playgroud)

小智 6

我遇到了类似的问题,企业防火墙阻止了服务总线流量。我附加TransportType=AmqpWebSockets到我的连接字符串的末尾并且它起作用了。