【Azure 服务总线】如何批量删除Azure Service Bus中的Topics(数量较多,需要过滤后批量删除)

简介: 【Azure 服务总线】如何批量删除Azure Service Bus中的Topics(数量较多,需要过滤后批量删除)

问题描述

Azure Service Bus 的门户操作页面上,是否可以批量删除其中的Topics呢?

 

问题解答

Azure Service Bus门户或Service Bus Explorer工具没有提供批量删除Topic的方法。但是可以自己写脚本删除,并且可以在删除的时候自定义过滤条件。

以Python举例:

第一步:在本地安装Python Service Bus SDK。

pip install azure-servicebus

第二步:参考Service Bus Topic 管理相关操作,结合 list_topics 和 delete_topic 方法删除满足要求的Topic

import os
from azure.servicebus.management import ServiceBusAdministrationClient
#CONNECTION_STR =  "Endpoint=sb://xxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=xxx;SharedAccessKey=xxxx"
CONNECTION_STR = os.environ['SERVICEBUS_CONNECTION_STR']
def delete_all_topic(servicebus_mgmt_client):
    print("-- Delete all the Topics")
    for topic_properties in servicebus_mgmt_client.list_topics():
        #print("delete Topic Name:", topic_properties.name)
        #根据Topic名称可以过滤是否需要删除
        servicebus_mgmt_client.delete_topic(topic_properties.name)
        print("Topic {} is deleted.".format(topic_properties.name))
    print("")
with ServiceBusAdministrationClient.from_connection_string(CONNECTION_STR) as servicebus_mgmt_client:
    delete_all_topic(servicebus_mgmt_client)

执行效果图:

 

参考资料

Service Bus Python sdk 安装:https://pypi.org/project/azure-servicebus/

Service Bus Topic 管理相关操作:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/servicebus/azure-servicebus/samples/sync_samples/mgmt_topic.py

获取Service Bus 连接字符串:https://docs.azure.cn/zh-cn/service-bus-messaging/service-bus-quickstart-portal#get-the-connection-string

 

相关文章
|
4月前
|
缓存 API Windows
【服务总线 Azure Service Bus】Service Bus在使用预提取(prefetching)后出现Microsoft.Azure.ServiceBus.MessageLockLostException异常问题
【服务总线 Azure Service Bus】Service Bus在使用预提取(prefetching)后出现Microsoft.Azure.ServiceBus.MessageLockLostException异常问题
|
4月前
|
Linux API 网络架构
【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标
【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标
|
2月前
|
JSON API 数据安全/隐私保护
【Azure Cloud Service】使用RESTAPI更新Cloud Service(Extended Support) 中所配置的证书
本文介绍了在更新Azure Cloud Service (Extended Support) 证书时,若旧证书(如中间证书、根证书)存储在Key Vault Secret中,而新证书仅匹配到服务器证书时,可能导致的错误及解决方法。建议使用PowerShell或RestAPI进行涉及机密的更新。文章详细描述了使用REST API更新证书的三个步骤:上传证书到Azure Key Vault、获取Cloud Service信息并发送GET请求、更新Cloud Service信息并发送PUT请求。通过这些步骤,可以成功更新证书并在云服务节点中验证证书信息。
|
3月前
【Azure Service Bus】批量处理Service Bus Topic 中的死信消息(dead-lettered messages)
当然是有的。就是Service Bus Explorer工具,下载ZIP包解压或者安装版均可! 这个版本提供强大的 Service Bus 的管理功能。
|
4月前
|
Java
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
|
4月前
|
存储 Java API
【Azure 事件中心】在Service Bus Explorer工具中查看到EventHub数据在分区中的6种属性问题
【Azure 事件中心】在Service Bus Explorer工具中查看到EventHub数据在分区中的6种属性问题
|
4月前
|
网络安全
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
|
4月前
|
API
【Azure 服务总线】查看Service Bus中消息多次发送的日志信息,消息是否被重复消费
【Azure 服务总线】查看Service Bus中消息多次发送的日志信息,消息是否被重复消费
|
4月前
【Azure 环境】如果Azure中的某一个资源被删除后是否可以查看到删除的记录呢?如Resource Group
【Azure 环境】如果Azure中的某一个资源被删除后是否可以查看到删除的记录呢?如Resource Group
|
4月前
|
缓存 Java API
【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数
【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数