开发与工程 ✓ Microsoft · 官方 azure-service-bustypescriptjavascriptmessage-queuespub-subdead-letter-queueazure-identity

Azure Service Bus TypeScript 技能

用 Azure Service Bus 构建可靠的企业消息应用。

FollowSkills 评估 · FSRS-2.0
不推荐
50/ 100 五分制 2.5 / 5
信任安全18 / 25 · 3.6/5

使用 DefaultAzureCredential、托管身份和环境变量认证,体现了较好的凭据隔离;同时明确了 receive-and-delete 的消息丢失风险,并提供了资源关闭和 DLQ 模式。扣分原因是未系统说明最小 RBAC 权限、敏感消息日志脱敏、外部数据流、用户确认或回滚策略,且示例直接打印消息体。

可靠稳定6 / 20 · 1.5/5

文档覆盖发送、接收、会话、DLQ、重试、锁续期和优雅关闭,异常处理说明较完整。静态证据存在明显不确定性:批处理示例创建 newBatch 后未更新 batch,延迟消息和 deferred message 的参数示例存在不一致,部分 SDK 行为未给出版本或可复现依据。按静态校准不超过10,故扣分。

适用触发9 / 15 · 3.0/5

目标受众和适用场景清晰,覆盖队列、主题、订阅、会话和企业消息模式。扣分原因是缺少明确的非适用边界、输入输出契约、触发条件和版本兼容范围,也没有中文使用支持或中国大陆网络可达性说明。

规范维护8 / 15 · 2.7/5

技能具备 front matter、MIT 许可证、版本号、安装说明、环境变量、分层参考文档和主题化示例;仓库还提供许可证、安全政策、CI 和维护信号。扣分原因是没有技能级 changelog、明确维护负责人和更新路径,缺少 FAQ、故障排查入口和依赖版本锁定说明。

有效结果6 / 15 · 2.0/5

示例可帮助编码代理完成常见 Service Bus 集成,并提供直接可改写的 TypeScript 代码和可靠性模式。扣分原因是示例需要人工校验,存在潜在错误或不完整处理,实体创建、RBAC 配置、测试、序列化约束和生产部署细节仍需补充;静态校准下不得超过7。

证据核验3 / 10 · 1.5/5

仓库提供通用测试 harness、Vitest 测试和若干 CI 工作流,说明存在一定质量验证基础。扣分原因是给定材料未证明这些测试覆盖该 Service Bus 技能的关键路径,也未提供该技能专属验收标准、第三方执行结果或多源交叉验证;静态评估最高不超过5。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 修正批量发送示例中 newBatch 未赋回 batch 的问题,并统一 receiveDeferredMessages、scheduleMessages 等 API 参数形式。
  • 生产使用前应核实 @azure/service-bus 和 @azure/identity 的版本、RBAC 最小权限、锁续期与自动完成语义。
  • 避免在日志中输出完整消息体或会话状态;补充敏感数据处理、重试幂等性、回滚和用户确认要求。
  • 补充该技能专属验收测试、已验证 SDK 版本、已知限制、维护负责人和更新路径。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向使用 JavaScript 或 TypeScript 的 Azure Service Bus 开发。它提供队列、主题与订阅、消息会话、死信队列、定时消息、消息延迟和非破坏性查看的实现示例。内容使用 @azure/service-bus,并结合 @azure/identity 的 Microsoft Entra 凭据进行身份验证。适合需要企业级消息传递模式的 Azure 应用开发者。

指导开发者安装 @azure/service-bus 和 @azure/identity,配置 Service Bus 命名空间、队列、主题及订阅环境变量,并创建 ServiceBusClient。示例覆盖向队列或主题发送单条及批量消息、接收和结算消息、事件驱动订阅、会话状态管理、死信处理、定时发送与取消、消息延迟,以及查看消息。还说明了 Peek-Lock 与 Receive-and-Delete 两种接收模式及客户端复用、资源关闭和错误处理实践。

  1. 使用 TypeScript 开发订单或工作流系统,需要把消息发送到 Azure Service Bus 队列。
  2. 构建事件驱动应用,需要通过主题和订阅分发订单创建等业务事件。
  3. 处理同一工作流或业务分组内的有序消息,需要使用消息会话和会话状态。
  4. 开发消息消费者,需要批量接收、完成、放弃、延迟或转移消息到死信队列。
  5. 需要未来投递消息或在不移除消息的情况下检查队列内容的 Azure 应用开发者。

优缺点一览

优点
  • 覆盖队列、主题订阅、会话、死信、定时消息、延迟和消息查看等常见 Service Bus 工作流。
  • 提供可直接改写的 TypeScript 代码片段,包括批量发送和事件驱动接收。
  • 明确建议本地使用 DefaultAzureCredential,生产环境使用托管身份或工作负载身份凭据。
  • README 记录 azure-servicebus-ts 有 14 个测试场景。
局限
  • 仅针对 JavaScript/TypeScript 的 @azure/service-bus SDK,不覆盖 Python、.NET 或 Java 实现。
  • 需要已配置的 Azure Service Bus 资源和 Microsoft Entra 身份验证环境。
  • 技能正文提供模式示例,但未包含完整项目脚手架、部署配置或故障排查实现。
  • 引用的 queues-topics.md 和 error-handling.md 内容未包含在给定材料中。

如何安装

在 Copilot CLI 或其他支持该集合的安装流程中运行:npx skills add microsoft/skills。根据向导选择 azure-servicebus-ts;技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/。README 未提供仅安装该单个技能的独立 npx 命令。项目代码还需要运行:npm install @azure/service-bus @azure/identity。

如何使用

将技能加载到编码 Agent 后,可使用类似“请用 @azure/service-bus 为我的 TypeScript 应用实现一个带 Microsoft Entra 身份验证的队列消费者,并处理完成、死信和错误回调”的请求。按示例设置 SERVICEBUS_NAMESPACE、SERVICEBUS_QUEUE_NAME 等环境变量;若生产环境使用 DefaultAzureCredential,还需设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据。随后根据需要创建 sender、receiver 或 session receiver,并在完成后关闭资源。

常见问题

这个技能是否会创建 Azure Service Bus 资源?
不会。给定内容只指导 SDK 安装、客户端创建和消息操作,没有提供资源 provisioning 或部署步骤。
生产环境应该使用哪种身份验证?
技能建议生产环境使用 ManagedIdentityCredential 或 WorkloadIdentityCredential;使用 DefaultAzureCredential 时,需要设置 AZURE_TOKEN_CREDENTIALS=prod 或指定具体凭据。
消息处理失败时如何处理?
订阅接收器应实现 processError 回调;Peek-Lock 模式下还可以放弃、延迟或将消息转移到死信队列。
它适合非 Azure Service Bus 的消息系统吗?
不适合。内容围绕 @azure/service-bus、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