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

如何通过C#代码删除Azure Service Bus Topic中的订阅?

可以通过C#代码删除Azure Service Bus Topic中的订阅吗?

当然可以,不需要仅依赖Azure门户网站操作,用C#结合Azure官方SDK就能实现订阅删除。

实现步骤

  1. 安装NuGet包:Azure.Messaging.ServiceBus
  2. 使用ServiceBusAdministrationClient完成删除操作

代码示例

using Azure.Messaging.ServiceBus.Administration;
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // 替换为你的Service Bus连接字符串、Topic名称和要删除的订阅名称
        string serviceBusConnectionString = "<你的Service Bus连接字符串>";
        string topicName = "<目标Topic名称>";
        string subscriptionName = "<要删除的订阅名称>";

        var adminClient = new ServiceBusAdministrationClient(serviceBusConnectionString);

        try
        {
            // 先验证订阅是否存在,避免不存在时抛出异常
            if (await adminClient.SubscriptionExistsAsync(topicName, subscriptionName))
            {
                await adminClient.DeleteSubscriptionAsync(topicName, subscriptionName);
                Console.WriteLine($"订阅 \"{subscriptionName}\" 已成功从Topic \"{topicName}\" 中删除");
            }
            else
            {
                Console.WriteLine($"订阅 \"{subscriptionName}\" 在Topic \"{topicName}\" 中不存在");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"删除订阅时出错: {ex.Message}");
        }
    }
}

关键说明

  • 确保你的Service Bus连接字符串拥有Manage级别的权限,否则会因权限不足导致操作失败
  • 若跳过订阅存在性检查,直接调用DeleteSubscriptionAsync,当订阅不存在时会抛出RequestFailedException,建议根据业务场景选择是否添加检查

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:15:31