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 在目标部署区域及中国大陆网络环境中的可达性与合规要求。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 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 获取访问凭据。
- 需要浏览器客户端接入的服务,为客户端生成带角色或初始群组的访问令牌。
这个 Skill 有哪些优点和局限?
- 覆盖广播、筛选发送、群组、用户和单连接等常见消息模式。
- 同时提供同步和异步 Java 客户端示例。
- 包含连接管理、客户端令牌和细粒度角色权限示例。
- 提供连接字符串、访问密钥和 DefaultAzureCredential 三种认证模式。
- 技能和仓库均声明使用 MIT 许可证。
- 内容聚焦服务端 Java SDK,没有提供完整应用或浏览器客户端实现。
- 源材料未说明 Java 版本、Azure 资源创建流程或部署步骤。
- 源材料未提供该单项技能的专属测试结果或验收场景。
- Azure 服务费用和配额信息未包含在技能中。
如何安装这个 Skill?
在项目中按仓库提供的方式安装技能集合:运行 npx skills add microsoft/skills,在向导中选择需要的技能。技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用的 .github/skills/。Java 项目还需在 Maven pom.xml 中加入 com.azure:azure-messaging-webpubsub:1.5.0 依赖。源材料未说明单独安装该插件技能的命令。
如何使用这个 Skill?
将技能安装到 Agent 配置目录后,可用“请用 Web PubSub Java 为聊天后端实现按群组发送 JSON 消息”或“请用 Azure Web PubSub Java 实现实时推送通知”等提示触发。根据认证方式设置连接字符串、端点或访问密钥,并在代码中配置 hub。源材料未规定特定 Agent 的触发配置格式。