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

如何解决Azure Function调用Azure Service Bus时出现的provider is null错误

问题根源

你在ServiceBusTrigger特性中填写Connection参数的方式错误:该参数不需要传入完整连接字符串,只需传入配置文件中对应连接字符串的键名即可。你直接填入完整连接串后,运行时会把整段连接串当作配置键去查找对应配置,自然无法匹配到你写在配置文件里的项,就会触发当前报错。

修复步骤

1. 修改触发器配置

把函数代码中Connection参数的值改为你local.settings.json里配置的连接串键名AzureWebJobsAzureSBConnection,修正后的代码示例如下:

public static class Function1
{
    [FunctionName("ServiceBusQueueTriggerCSharp")]
    public static void Run(
        // 这里Connection填配置键名,不要填完整连接串
        [ServiceBusTrigger("queue", Connection = "AzureWebJobsAzureSBConnection")] string message, 
        ILogger log)
    {
        log.LogInformation($"C# ServiceBus queue trigger function processed message: {message}");
    }
}

注:原代码的触发器绑定参数缺少接收队列消息的变量,示例中补充了string message参数,你可以根据业务需求调整消息接收的类型。

2. 确认配置项位置

你当前把AzureWebJobsAzureSBConnection放在local.settings.json的ConnectionStrings节点下是符合要求的,不需要调整配置内容,只要确保键名和代码里填写的完全一致即可。

内容的提问来源于stack exchange,提问作者Deepak Kothari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:24:01