SuperAPI AI 工具集

azure-service-bus

部署与运维

查看项目

更新于 10-16 07:42

技能介绍

用途

Azure Service Bus 技能用于管理 Azure 服务总线(Azure Service Bus)中的消息队列与发布/订阅主题,帮助用户通过 Azure CLI 完成对命名空间、队列、主题和订阅的查看与操作。

主要能力

该技能提供以下操作能力:

  • 列出命名空间:使用 az servicebus namespace list,并以表格形式输出名称、资源组、SKU 与位置等信息。
  • 列出队列:使用 az servicebus queue list,可查看队列名称、状态、消息数量与死信消息数量。
  • 列出主题:使用 az servicebus topic list,可查看主题名称、状态与订阅数量。
  • 列出订阅:使用 az servicebus topic subscription list,可查看指定主题下订阅的名称、状态与消息数量。
  • 发送消息到队列:使用 az servicebus queue send,可将 JSON 格式的消息体发送到指定队列。
  • 查看(Peek)队列消息:使用 az servicebus queue peek,可在不移除消息的情况下读取指定数量的消息,并可结合 jq 提取消息 ID 与消息体。
  • 获取连接字符串:使用 az servicebus namespace authorization-rule keys list,可获取命名空间的主连接字符串。

使用方式

所有操作均通过 Azure CLI 的 az servicebus 命令执行,需要指定命名空间名称与资源组等参数。示例:

  • 列出命名空间:az servicebus namespace list --query '[].{Name:name,ResourceGroup:resourceGroup,Sku:sku.name,Location:location}' -o table
  • 列出队列:az servicebus queue list --namespace-name my-sb --resource-group my-rg --query '[].{Name:name,Status:status,MessageCount:messageCount,DeadLetterCount:countDetails.deadLetterMessageCount}' -o table
  • 列出主题:az servicebus topic list --namespace-name my-sb --resource-group my-rg --query '[].{Name:name,Status:status,Subscriptions:subscriptionCount}' -o table
  • 列出订阅:az servicebus topic subscription list --namespace-name my-sb --resource-group my-rg --topic-name my-topic --query '[].{Name:name,Status:status,MessageCount:messageCount}' -o table
  • 发送消息到队列:az servicebus queue send --namespace-name my-sb --resource-group my-rg --queue-name my-queue --body '{"event":"deploy","status":"success"}'
  • 查看队列消息:az servicebus queue peek --namespace-name my-sb --resource-group my-rg --queue-name my-queue --max-count 5 | jq '.[] | {messageId, body}'
  • 获取连接字符串:az servicebus namespace authorization-rule keys list --namespace-name my-sb --resource-group my-rg --authorization-rule-name RootManageSharedAccessKey --query 'primaryConnectionString' -o tsv

适用场景

该技能适用于以下场景:在命令行环境中快速检查 Azure 服务总线的命名空间、队列、主题与订阅状态;在集成或调试阶段向队列发送测试消息;在不影响消息消费的情况下查看队列中的消息内容;获取连接字符串以便应用程序接入服务总线。

限制与注意事项

  • Peek 操作只读取消息而不会移除消息;Receive 操作会移除消息。
  • 在发送消息或修改队列/主题之前应先确认。
  • 该技能依赖 Azure CLI 环境及相应权限;具体权限要求与安装方式暂未提供。
  • 关于定价、平台支持与性能表现等信息暂未提供。