开发与工程 ✓ Microsoft · 官方 azure-service-busrustmessage-queuespub-subazure-identityrbactokio

Azure Service Bus Rust 技能

帮助 Rust 开发者使用 Azure Service Bus 构建队列与发布订阅消息流程。

FollowSkills 评估 · FSRS-2.0
不推荐
47/ 100 五分制 2.4 / 5
信任安全14 / 25 · 2.8/5

文档明确要求使用官方 crate、避免硬编码凭据,并给出 DeveloperToolsCredential/ManagedIdentityCredential 与细粒度 RBAC 角色;但发送、接收和完成消息都会产生外部状态变化,未要求用户确认,也未说明消息数据流、敏感数据处理、幂等性、回滚或恢复策略,因此扣分。

可靠稳定7 / 20 · 1.8/5

安装、认证、队列/主题/订阅及结算流程相互一致,示例使用 Result 传播错误;但 crate 明示处于早期开发、没有提供重试、锁过期、死信、连接故障或异常输入处理,也没有该技能专属测试证据,故仅给出静态可支持的中低分。

适用触发8 / 15 · 2.7/5

触发短语、Rust 受众和队列/主题/订阅场景较清楚;但未明确不适用范围、版本/API 边界、输入输出契约或环境要求,亦未提供中文支持说明。核心功能依赖 Azure Service Bus 网络可达性,面向中国大陆的可达性未被材料验证,因此扣分。

规范维护8 / 15 · 2.7/5

文档结构清晰,包含安装、环境变量、认证、核心流程、RBAC、最佳实践、参考链接、MIT 许可证和作者元数据;但缺少版本锁定示例、变更记录、维护责任与更新路径、故障排查和已知限制,且“不要直接编辑 Cargo.toml”与常规 Rust 工作流的适用边界未解释。

有效结果6 / 15 · 2.0/5

内容覆盖发送、接收、主题和订阅等核心任务,代码片段具有较直接的起点价值;但 crate 被明确标为不可用于生产,示例缺少完整配置、生命周期管理、重试和生产级可靠性处理,静态材料也未证明代码可编译或结果完整,因此限制在静态上限内。

证据核验4 / 10 · 2.0/5

提供 docs.rs、crates.io 和 Azure SDK 源码链接,并有仓库级 CI/测试材料作为有限佐证;但提供的证据没有展示该技能的专属测试、编译结果或第三方交叉验证,且本次未执行任何内容,故不能给出更高分。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 该 crate 明确处于早期开发阶段,不应直接用于生产;请在采用前锁定并核验实际版本和 API。
  • 发送、完成和放弃消息涉及外部状态变化;部署前应补充用户确认边界、幂等性、重试、锁续期、死信、审计和恢复策略。
  • 不要将消息正文或凭据输出到日志;应验证 Azure Service Bus 在目标网络环境中的可达性。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向使用 Rust 的 Azure Service Bus 开发,覆盖队列、主题和订阅的消息发送与接收。它提供官方 azure_messaging_servicebus crate 的安装、身份验证、核心工作流和消息结算示例。技能要求使用 Entra ID 相关凭据并配置 Service Bus 命名空间。该 crate 仍处于早期开发阶段,不应用于生产环境,API 可能变化。

指导开发者通过 cargo add 安装 azure_messaging_servicebus、azure_identity 和 tokio;配置 SERVICEBUS_NAMESPACE;使用 DeveloperToolsCredential 或生产环境的 ManagedIdentityCredential 创建 ServiceBusClient;创建队列或主题发送器、队列或订阅接收器;发送和接收消息;成功处理后调用 complete_message,或在需要重试时放弃消息;根据发送、接收或完全访问需求配置 Azure Service Bus RBAC 角色。

  1. Rust 应用需要向 Azure Service Bus 队列发送消息时,使用该技能建立发送器并发送 Message。
  2. Rust 服务需要从队列批量接收消息并在处理成功后完成消息时,使用该技能参考接收与结算流程。
  3. 多个消费者需要接收同一消息时,使用主题和订阅实现发布订阅或扇出模式。
  4. 本地开发者需要使用 DeveloperToolsCredential 连接 Azure Service Bus,或生产部署需要使用托管身份时,使用该技能配置认证。

优缺点一览

优点
  • 覆盖队列、主题、订阅、消息发送、接收和完成语义。
  • 提供官方 crate、认证方式、RBAC 角色和安全实践说明。
  • 包含可复制的 Rust 异步代码示例。
  • 明确区分本地开发凭据与生产托管身份。
局限
  • azure_messaging_servicebus crate 处于早期开发阶段,不应在生产环境使用。
  • API 可能在未来变化,源材料未提供稳定性承诺或版本兼容矩阵。
  • 源材料未显示该技能自身的测试套件或平台覆盖证据。
  • 使用 Azure Service Bus 需要有效的 Azure 资源、网络连接和适当权限;费用信息未在源材料中说明。

如何安装

在支持该技能集合的代理目录中运行 npx skills add microsoft/skills,并在向导中选择此技能。也可以克隆集合后,将 .github/plugins/azure-sdk-rust/skills/azure-servicebus-rust/ 复制到目标代理的技能目录。项目依赖可运行:cargo add azure_messaging_servicebus azure_identity tokio。若代码直接使用 azure_core 类型,再运行 cargo add azure_core。

如何使用

可用触发语句:"service bus rust"、"ServiceBusClient rust"、"send message servicebus rust"、"receive message servicebus rust"、"queue rust messaging" 或 "topic subscription rust"。随后提供 Rust 项目要连接的 Service Bus 命名空间、队列或主题名称,并根据场景说明需要发送、接收或订阅消息。配置 SERVICEBUS_NAMESPACE=<namespace>.servicebus.windows.net,并确保身份具有相应的 Azure Service Bus Data Sender、Data Receiver 或 Data Owner 角色。

常见问题

这个技能是否适合生产系统?
不适合。SKILL.md 明确警告该 crate 处于早期开发阶段,不应用于生产环境,API 可能变化。
需要哪些 Azure 权限?
发送消息需要 Azure Service Bus Data Sender,接收消息需要 Data Receiver,完整访问需要 Data Owner。
消息处理失败会怎样?
成功处理后应调用 complete_message 移除消息;调用 abandon 会释放锁,使消息可以再次尝试处理。
使用这个技能是否有明确费用?
源材料没有提供费用信息;它只说明需要 Azure Service Bus 命名空间和相应身份权限。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills