Azure Web PubSub Java 技能
为 Java 实时应用提供 Azure Web PubSub 的消息推送、群组管理与访问令牌模式。
证据显示提供了 DefaultAzureCredential、Managed Identity、令牌过期和最小角色权限建议,并使用环境变量示例,未发现恶意或隐蔽外泄行为。扣分原因是未明确说明敏感凭据的存储、日志和数据流风险,示例打印访问令牌 URL,角色示例权限较宽,关闭连接等外部副作用没有用户确认、回滚或恢复说明。
文档覆盖同步、异步、消息、组、连接和错误处理等主要路径,且依赖版本明确。扣分原因是仅有静态代码证据,没有针对该技能的测试或执行结果;部分示例存在可编译性不确定性,例如令牌示例未展示 Duration 导入,异常和边界场景处理较薄。静态评估上限为10,因此不超过6。
名称、描述和触发短语明确,适用于 Java Azure Web PubSub、WebSocket、聊天和实时推送场景。扣分原因是未声明非适用范围、输入输出边界或服务前置条件,也未提供中文使用支持或中国大陆网络可达性说明;核心功能依赖 Azure Web PubSub,但材料未证明其在目标环境中的可用性。
文档有安装、客户端创建、核心概念、示例、环境变量、角色表、最佳实践和独立 references/examples.md,许可证和版本元数据清楚。扣分原因是缺少变更日志、兼容性范围、故障排查 FAQ、维护责任人和明确更新路径;示例与主文档重复,且部分假设未显式说明。
证据表明技能能为常见 Web PubSub Java 编码任务提供直接代码片段和聊天服务示例,核心任务大体可完成。扣分原因是未提供实际生成结果或执行验证,部分代码可能需要补充导入、鉴权和生产安全处理,完整应用仍需用户进行集成、测试和审查。静态评估上限为7,因此不超过6。
技能文件、引用示例和固定修订版本构成可审计的一手材料,且代码模式具体。扣分原因是没有该技能专属测试套件、CI 覆盖或第三方执行证据,无法独立复现关键路径;仓库级测试材料未证明覆盖此技能。静态评估上限为5,因此仅给3。
- 使用连接字符串或访问密钥时,应避免硬编码、日志输出和提交到源代码,并确认令牌 URL 的暴露范围。
- 关闭连接、授予角色和向所有连接广播都会产生外部副作用,应在应用层增加授权、确认、审计和失败恢复策略。
- 在采用示例前应针对 azure-messaging-webpubsub 1.5.0 实际编译并补齐导入、异常处理和生产环境配置。
- 应核实 Azure Web PubSub 在目标部署区域及中国大陆网络环境中的可达性与合规要求。
它能做什么 & 适用场景
该技能面向使用 Azure Web PubSub Java SDK 构建实时 Web 应用的开发者。它覆盖同步与异步客户端创建、连接认证、向连接组或用户发送文本和 JSON 消息,以及连接和权限管理。内容还包括客户端访问令牌、角色权限、环境变量和 HTTP 错误处理示例。适合已经使用 Azure Web PubSub、需要 Java SDK 实现聊天、实时更新或服务端推送的项目。
指导开发者通过 Maven 引入 com.azure:azure-messaging-webpubsub:1.5.0,使用连接字符串、访问密钥或 DefaultAzureCredential 创建同步或异步客户端;向全部连接、筛选后的连接、群组、指定连接或用户发送文本和 JSON 消息;添加、移除和检查群组成员;检查、关闭连接或用户连接;生成带用户、角色、群组和过期时间的客户端访问令牌;授予、撤销和检查权限;使用 HttpResponseException 读取状态码和错误信息。
- Java 后端开发者为聊天应用向群组或指定用户推送消息。
- 实时 Web 应用开发者向所有连接广播状态或内容更新。
- 需要用户级或连接级控制的团队,使用群组、用户 ID 和连接 ID 管理会话。
- 使用 Azure 托管身份的生产应用,通过 DefaultAzureCredential 获取访问凭据。
- 需要浏览器客户端接入的服务,为客户端生成带角色或初始群组的访问令牌。
优缺点一览
- 覆盖广播、筛选发送、群组、用户和单连接等常见消息模式。
- 同时提供同步和异步 Java 客户端示例。
- 包含连接管理、客户端令牌和细粒度角色权限示例。
- 提供连接字符串、访问密钥和 DefaultAzureCredential 三种认证模式。
- 技能和仓库均声明使用 MIT 许可证。
- 内容聚焦服务端 Java SDK,没有提供完整应用或浏览器客户端实现。
- 源材料未说明 Java 版本、Azure 资源创建流程或部署步骤。
- 源材料未提供该单项技能的专属测试结果或验收场景。
- Azure 服务费用和配额信息未包含在技能中。
如何安装
在项目中按仓库提供的方式安装技能集合:运行 npx skills add microsoft/skills,在向导中选择需要的技能。技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用的 .github/skills/。Java 项目还需在 Maven pom.xml 中加入 com.azure:azure-messaging-webpubsub:1.5.0 依赖。源材料未说明单独安装该插件技能的命令。
如何使用
将技能安装到 Agent 配置目录后,可用“请用 Web PubSub Java 为聊天后端实现按群组发送 JSON 消息”或“请用 Azure Web PubSub Java 实现实时推送通知”等提示触发。根据认证方式设置连接字符串、端点或访问密钥,并在代码中配置 hub。源材料未规定特定 Agent 的触发配置格式。