You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker运行Service Bus Emulator时,Function App ServiceBusTrigger连接失败

问题:本地Docker运行Service Bus模拟器,Azure Function的ServiceBusTrigger无法连接

在Docker容器中运行Service Bus模拟器,业务代码可成功向该Service Bus发送消息,但Azure Function的ServiceBusTrigger始终无法正常工作,核心问题为配置的连接名称无法被正确识别,运行后持续抛出连接拒绝错误。

相关配置与代码

local.settings.json 配置

// local.settings.json
{
  "Values": {
    "ServiceBusConnection__fullyQualifiedNamespace": "sb://localhost:5672"
  }
}

Function 代码(Function1.cs)

// Function1.cs
[Function(nameof(ServiceBusTest))]
public async Task ServiceBusTest(
    [ServiceBusTrigger(queueName: Queues.SmokeTest, Connection = "ServiceBusConnection")]
    RequestBase @event)
{
    await Task.CompletedTask;
}

报错信息

Exception: Azure.Messaging.ServiceBus.ServiceBusException: Connection refused ErrorCode: ConnectionRefused (ServiceCommunicationProblem)

解决方案

针对该问题,可从以下几个方向排查修复:

  1. 补充身份验证配置
    Service Bus模拟器需要SAS密钥验证,仅配置fullyQualifiedNamespace不足以建立连接。修改local.settings.json补充密钥信息:

    {
      "Values": {
        "ServiceBusConnection__fullyQualifiedNamespace": "sb://localhost:5672",
        "ServiceBusConnection__sharedAccessKeyName": "RootManageSharedAccessKey",
        "ServiceBusConnection__sharedAccessKey": "你的模拟器主密钥"
      }
    }
    

    模拟器密钥可从启动日志、本地配置文件或Docker启动参数中获取。

  2. 切换为完整连接字符串
    若使用v5以下版本的Service Bus扩展,不支持拆分式配置,需直接配置完整连接字符串:

    {
      "Values": {
        "ServiceBusConnection": "Endpoint=sb://localhost:5672/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=你的模拟器主密钥"
      }
    }
    
  3. 验证网络可达性

    • 确认Docker容器已正确映射端口:除AMQP协议的5672端口外,若使用NetMessaging协议需额外映射9354端口,确保Function应用能访问这些端口。
    • 若Function也运行在Docker容器中,需用Service Bus容器的内部IP或容器名称替代localhost,避免网络隔离导致无法访问。
  4. 适配扩展版本
    确认Azure Functions的Service Bus扩展版本为v5及以上,该版本才支持__fullyQualifiedNamespace这类拆分式配置。可通过NuGet包管理器检查并更新Microsoft.Azure.WebJobs.Extensions.ServiceBus包版本。

内容的提问来源于stack exchange,提问作者Branden Barber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:25:12