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

VS Code中用DAPR运行Service Bus触发的Azure Function报错求助

问题排查与修复步骤

针对你遇到的"No job functions found"错误,以下是遗漏的配置和需要补充的步骤:

1. 注册Service Bus绑定扩展

错误提示核心指向扩展未注册,你需要在项目中添加扩展注册逻辑:

  • 如果是InProcess模型(你的代码属于该模型),创建Startup.cs文件并注册Service Bus扩展:
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;

[assembly: FunctionsStartup(typeof(Company.ERM.Startup))]
namespace Company.ERM
{
    public class Startup : FunctionsStartup
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
            // 注册Service Bus绑定扩展
            builder.AddServiceBus();
            // 可选:注册Dapr客户端,推荐通过依赖注入使用
            builder.Services.AddDaprClient();
        }
    }
}
  • 确保安装对应NuGet包:Microsoft.Azure.WebJobs.Extensions.ServiceBus

2. 修复Dapr异步调用问题

你的代码中调用PublishEventAsync未使用await,会导致异步操作提前终止,需修改为异步方法并等待操作完成:

[FunctionName("erman")]
public async Task Run([ServiceBusTrigger("erman", Connection = "CON_SERVICEBUS")]string myQueueItem, ILogger log)
{
    log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
    
    // 推荐使用依赖注入的DaprClient,替代手动创建
    using var client = new DaprClientBuilder().Build();
    await client.PublishEventAsync("orderpubsub", "orders", "test");
}

3. 校验Dapr组件配置格式

你的YAML配置需确保缩进正确(层级对齐),修正后如下:

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: orderpubsub
spec:
  type: pubsub.redis
  version: v1
  metadata:
  - name: redisHost
    value: localhost:6379
  - name: redisPassword
    value: ""

4. 配置环境变量与依赖服务

  • 在local.settings.json中添加Service Bus连接字符串:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "CON_SERVICEBUS": "你的Azure Service Bus连接字符串"
  }
}
  • 确保本地Redis服务正在运行(localhost:6379),否则Dapr无法完成消息发布。

5. 优化运行命令

  • 若代码有变更,建议先执行dotnet build再启动,避免--no-build导致的旧代码运行问题;
  • 确认--resources-path ./component/路径正确,确保Dapr能加载到组件配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:30:27