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

如何在C# Azure Function中手动处理Azure Service Bus 5.0.0消息完成

问题场景

我正在编写一个Azure Function来获取Azure Service Bus中的消息,希望手动处理所有异常(已配置"autoCompleteMessages": false),但不知道如何向服务队列返回完成或放弃指令。

尝试方案1

[FunctionName("SBQ_F1_VC")]
public static async Task Run([ServiceBusTrigger("sbqfn1", Connection = "BrnlTest1_SERVICEBUS")]
    ServiceBusReceivedMessage msg, ILogger log)
{
//.....

    if(!Int32.TryParse(msg.ApplicationProperties.GetValueOrDefault("vid").ToString(), out vid))
    {   await using ServiceBusClient client = new ServiceBusClient(Environment.GetEnvironmentVariable("BrnlTest1_SERVICEBUS"));
        ServiceBusReceiver msgRcvr = client.CreateReceiver(Environment.GetEnvironmentVariable("queueName"), new ServiceBusReceiverOptions()); 
        //await msgRcvr.RenewMessageLockAsync(msg);
        await msgRcvr.AbandonMessageAsync(msg);  //vid = 0;
    }

//.....
}

方案1报错

System.Private.CoreLib: Exception while executing function: SBQ_F1_VC. Azure.Messaging.ServiceBus: 提供的锁无效。可能是锁已过期、消息已从队列移除,或被其他接收器实例接收。(MessageLockLost)

尝试方案2

[FunctionName("SBQ_F1_VC")]
public static async Task Run([ServiceBusTrigger("sbqfn1", Connection = "BrnlTest1_SERVICEBUS")]
 ServiceBusReceivedMessage[] msgs,
 ServiceBusMessageActions msgActions)
{
//.....
await msgActions.DeadLetterMessageAsync(msg);

}

方案2报错

Microsoft.Azure.WebJobs.Host: 索引方法'SBQ_F1_VC'出错。Microsoft.Azure.WebJobs.Host: 无法将参数'msgActions'绑定到ServiceBusMessageActions类型。请确保参数类型受绑定支持,若使用绑定扩展(如Azure Storage、Service Bus、Timers等),请确认已在启动代码中调用扩展注册方法(如builder.AddAzureStorage()、builder.AddServiceBus()、builder.AddTimers()等)。

备注

  • Service Bus版本为5.0.0,因此必须使用Azure.Messaging.ServiceBus命名空间
    • 对应消息对象类型为ServiceBusReceivedMessage

可行方案

ServiceBusMessageActions的参数名必须为messageActions,目前不支持修改该参数名:

public static async Task Run(
        [ServiceBusTrigger("sbqfn1", Connection = "BrnlTest1_SERVICEBUS")]
        ServiceBusReceivedMessage[] msgs,
        ServiceBusMessageActions messageActions)
        {

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 01:45:03