Azure Service Bus .NET 技能
帮助 .NET 开发者构建可靠的 Azure 企业消息系统。
文档展示了 Entra ID 优先、连接字符串为替代方案,并提示生产环境凭据配置;但未说明最小 RBAC 权限、消息内容中的敏感数据处理、数据流、用户确认或回滚。管理示例直接包含删除队列操作且没有确认或恢复说明,因此扣分。
覆盖发送、接收、结算、处理器、会话、死信、主题、管理和事务等主要路径,也提供部分异常处理和重试建议;但缺少该技能专属测试、边界条件、空消息/锁过期处理、完整生命周期示例及若干失败场景诊断。静态审查上限内评分。
描述、触发词、目标 SDK 和主要 Service Bus 场景较清晰,适合 .NET 消息传递任务;但未明确不适用范围、输入输出约束、版本兼容矩阵、中文使用说明或中国大陆网络/区域限制,且对复杂生产架构的边界说明不足。
结构清晰,包含安装、认证、环境变量、层级、核心工作流、类型、最佳实践、错误处理、相关 SDK 和链接;具备 MIT、作者和 1.0.0 版本元数据。但没有变更日志、维护责任/更新路径、FAQ、已知限制或针对版本漂移的说明,因此扣分。
示例覆盖常见 Service Bus 操作,能为代码生成提供直接可用的模式,核心任务价值明确;但示例普遍缺少完整可运行上下文、配置前置条件、生产级重试/幂等/监控和安全细节,且未提供该技能专属输出验证。按静态校准最高为 7。
提供 SDK 版本、官方 NuGet/API/GitHub/故障排除链接,仓库还显示通用 CI、评估工作流和测试基础设施;但给定材料没有该技能的专属测试、执行结果或多源交叉验证,故按静态校准不超过 5。
- 管理示例包含删除队列等外部且破坏性的操作,使用前应增加明确确认、权限边界和恢复方案。
- 连接字符串和消息体可能包含敏感信息;文档未说明安全存储、日志脱敏或最小权限 RBAC。
- 当前版本和 API 示例应在实际项目中针对目标 SDK 版本编译验证;本评估未执行代码。
- 未提供中国大陆网络、Azure 区域可用性或企业代理配置指导。
它能做什么 & 适用场景
这是一个面向 Azure.Messaging.ServiceBus 的 .NET Agent Skill,指导编码代理处理队列、主题、订阅、会话和死信队列。内容覆盖客户端认证、消息收发、消息结算、后台处理、会话顺序、管理操作和跨实体事务。它还提供 Azure.Identity、ASP.NET Core 依赖注入以及错误处理示例。适合已经使用 Azure Service Bus、需要快速生成规范 .NET 集成代码的团队。
为编码代理提供可生成和解释的 .NET 代码模式,包括安装 Azure.Messaging.ServiceBus 与 Azure.Identity、使用 Microsoft Entra 凭据或连接字符串创建客户端、发送和批量发送消息、接收并完成或放弃消息、配置 ServiceBusProcessor、处理会话和死信队列、操作主题与订阅、通过 ServiceBusAdministrationClient 管理实体,以及使用 TransactionScope 实现跨实体事务。
- 负责订单或任务处理的 .NET 开发者需要使用 Azure Service Bus 队列实现可靠投递。
- 构建发布/订阅系统的团队需要配置主题、订阅和广播消息。
- 需要顺序处理订单或工作流消息的开发者需要使用 Service Bus sessions。
- 需要诊断无效消息和重试流程的团队需要处理消息结算与死信队列。
- 开发后台消费者的团队需要使用 ServiceBusProcessor 处理并发、错误和锁续期。
优缺点一览
- 覆盖从认证、收发消息到管理实体的完整 Service Bus 常见流程。
- 包含批量发送、会话、死信、后台处理和跨实体事务等具体代码示例。
- 明确推荐 DefaultAzureCredential、线程安全客户端复用、资源释放和瞬态错误处理。
- MIT 许可,并由 Microsoft 标注作者。
- 内容聚焦 Azure.Messaging.ServiceBus 的 .NET SDK,不是通用消息队列教程。
- 示例需要 Azure Service Bus 命名空间或连接字符串;源材料没有提供本地模拟器或离线方案。
- 源材料未说明 Azure 服务费用、权限配置细节或支持的 .NET SDK 版本范围。
- README 说明仓库仍在积极开发,技能和测试也可能持续更新。
如何安装
在支持 Agent Skills 的客户端中运行 npx skills add microsoft/skills,在安装向导中选择 azure-servicebus-dotnet。集合会安装到所选 Agent 的目录,例如 GitHub Copilot 可使用 .github/skills/。该技能在仓库中的路径是 .github/plugins/azure-sdk-dotnet/skills/azure-servicebus-dotnet/SKILL.md。
如何使用
向编码代理提出包含触发词的具体请求,例如:为 .NET 应用使用 ServiceBusProcessor 消费 my-queue,关闭自动完成,并将处理失败的消息放回队列。 也可以直接提及 ServiceBusClient、ServiceBusSender、ServiceBusReceiver、ServiceBusProcessor 或 dead letter queue。源材料未定义独立的斜杠命令。
对比同类
源材料明确将 Azure.Messaging.EventHubs 用于事件流、Azure.Messaging.EventGrid 用于事件路由;本技能则聚焦 Service Bus 的队列、主题、订阅、会话和消息结算。认证方面,内容提供 Microsoft Entra Token Credential 与连接字符串两种方案,并更推荐生产环境使用 DefaultAzureCredential。