Azure Queue Storage TypeScript 技能
帮助 TypeScript/JavaScript 应用可靠地发送、接收和管理 Azure 队列消息。
文档覆盖 Entra、共享密钥、连接字符串和 SAS,并说明了部分 Node.js/浏览器差异,具备一定的数据流透明度。扣分原因是示例直接处理账户密钥、连接字符串和 SAS,未给出密钥保管、最小权限、日志脱敏或用户确认要求;还展示 delete、clearMessages 和宽权限 SAS,但没有回滚或恢复指导。
操作层级、发送/接收/更新/删除、可见性延长、毒消息和错误状态码说明较连贯,幸福路径可理解。扣分原因是仅有文档代码,没有针对该技能的测试或可复现运行证据;重试、并发、空队列、消息过期、编码兼容性和长期运行失败处理仍不完整,部分代码依赖未说明的辅助函数或外部配置。
名称、描述、触发词和 TypeScript/JavaScript、Node.js/浏览器范围较清晰,覆盖常见队列操作。扣分原因是没有明确非适用场景、输入输出契约或安全敏感场景的触发边界;中文支持未说明,Azure 服务在中国大陆网络中的可达性也未被验证。
结构清晰,包含安装、认证、操作模式、限制、最佳实践、平台差异、许可证和版本字段。扣分原因是缺少 changelog、具体 SDK 版本锁定、维护责任与更新路径、常见故障排查以及更明确的已知限制;文档依赖 `12.x` 和 Node.js 18+ 等外部版本假设。
示例覆盖创建队列、消息生命周期、批量接收、毒消息和可见性扩展,能够为常见编码任务提供直接可改写的代码。扣分原因是没有提交的代表性输出、测试项目或端到端验证,生产级重试、幂等、监控和配置校验仍需用户补充,因此只能确认核心任务大致可完成。
技能文件包含具体 API 调用、参数、限制表和一个 Microsoft Learn 引用,仓库上下文还显示存在 CI 与测试基础设施。扣分原因是提供材料中没有该技能专属测试、真实 CI 覆盖或第三方执行结果,关键 API 版本和示例正确性无法仅凭静态阅读独立复现。
- 不要将账户密钥、连接字符串或 SAS 写入源代码、日志或提示词;优先使用最小权限的托管身份,并在删除队列、清空消息或移动毒消息前确认目标和恢复方案。
- 当前评估未执行代码,也未验证 SDK 版本、Azure API 行为或中国大陆网络可达性;生产使用前应补充锁定版本、集成测试和地区网络验证。
它能做什么 & 适用场景
该技能面向使用 Azure Queue Storage JavaScript/TypeScript SDK 的开发者,覆盖队列与消息的常见操作。它提供基于 Microsoft Entra 凭据、连接字符串、共享密钥和 SAS 的连接示例。内容还包括可见性超时、消息编码、批量接收、毒消息处理和长任务续期模式。适合需要在 Node.js 应用中实现任务分发或后台工作器的团队。
指导安装 @azure/storage-queue 和 @azure/identity,配置存储账户环境变量,并创建 QueueServiceClient 或 QueueClient。它涵盖创建、列出、删除队列,读取和设置元数据,以及发送、接收、查看、更新、删除和清空消息。它还说明 JSON 消息、Base64 或纯文本编码、队列级和账户级 SAS 生成、RestError 错误处理,以及消息大小和可见性限制。
- 需要在 Node.js 后端把任务放入 Azure 队列的 TypeScript 开发者,可参考发送消息和消息生存时间设置。
- 实现后台轮询工作器的团队,可使用批量接收、处理后删除和可见性超时模式。
- 处理可能反复失败任务的开发者,可依据 dequeueCount 将消息转移到毒消息队列。
- 运行时间较长的任务处理程序,可使用 updateMessage 延长可见性并更新 popReceipt。
- 需要浏览器或 Node.js 客户端访问队列的团队,可根据平台差异选择 SAS 或匿名访问等方式。
优缺点一览
- 覆盖队列生命周期、消息生命周期和常见工作器模式。
- 同时给出 Microsoft Entra、连接字符串、共享密钥和 SAS 示例。
- 明确列出批量接收、毒消息处理、消息编码和长任务续期等实用模式。
- 提供 Node.js 与浏览器的平台能力差异及关键消息限制。
- 依赖 Azure Queue Storage 账户和有效凭据,源材料未说明定价或所需 Azure 权限。
- Node.js 专属的共享密钥凭据和 SAS 生成能力不能用于浏览器。
- 消息最大大小为 64 KB,默认消息可见性超时为 30 秒。
- 源材料未提供该单个技能的独立测试结果或版本更新承诺。
如何安装
将该仓库作为技能集合安装:npx skills add microsoft/skills,然后在向导中选择所需技能。README 没有提供该路径下单个技能的独立安装命令;技能集合会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/。应用依赖安装命令为:npm install @azure/storage-queue @azure/identity。
如何使用
在编码 Agent 中输入类似“使用 @azure/storage-queue 和 QueueServiceClient 实现一个带 30 秒可见性超时的批量消息工作器”,或直接使用触发词“queue storage”“send message”“receive message”“visibility timeout”。随后配置 AZURE_STORAGE_ACCOUNT_NAME,以及 Microsoft Entra 凭据、连接字符串或账户密钥对应的环境变量。