Agent Skills
返回列表
💻

Azure 实时消息 Python SDK

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/azure-messaging-webpubsubservice-py。

技能介绍

要解决什么问题

在浏览器或移动端做实时协作、通知或状态同步时,自己维护 WebSocket 集群、连接表和广播逻辑成本很高。Azure Web PubSub 把连接托管在托管服务里,你的后端只需要用 REST/ SDK 发消息、管组和权限。本技能面向 Python 服务端与 WebSocket 客户端,把官方 SDK 的常用路径整理成可复制的用法,而不是从零翻文档拼示例。

技能如何组织内容

文档按「服务端 → 客户端 → 异步」分层:

  • 鉴权与令牌:优先 DefaultAzureCredential,本地与 Azure 托管标识同一套代码;get_client_access_token 生成带角色的短时效连接 URL。
  • 消息投递:send_to_all、send_to_user、send_to_group、send_to_connection 覆盖广播与定向场景;结构化 payload 建议 JSON 内容类型。
  • 连接与组:add_user_to_group / remove_user_from_group、连接存在性检查、close_connection 与权限授予/撤销,用于多房间、多租户路由。
  • 生命周期:同步用 with Client(...) as client,异步用 async with 包裹客户端与 azure.identity.aio 的凭据,避免泄漏 HTTP 连接与令牌缓存。

技能内附 最佳实践(同步/异步勿混用、用 roles 限权、客户端重连等)以及 references/ 下的能力清单与非主路径场景,适合对照生产检查项。

适用边界

这是 Azure 官方 Python SDK 的使用说明型技能,不包含自建 Pub/Sub 替代方案,也不替代你在应用层设计消息协议、幂等与离线补偿。连接字符串/访问密钥在文档中被明确为应尽量避免的路径;生产环境应配合 Entra 角色与短令牌策略自行落地。

使用场景

  • Flask/FastAPI 后端需向所有在线浏览器推送工单状态变更,用 `send_to_all` 广播 JSON 事件
  • 多人协作白板要按房间隔离消息,服务端用组 API 维护成员并用 `send_to_group` 投递
  • 同一用户多标签页登录时,需用 userId 定向通知而不绑死单条 connection
  • 生产环境排查僵尸连接,需检查连接是否存在并用带原因的 `close_connection` 断开

适合人员

  • 在 Azure 上写 Python 实时 API、要为前端签发 WebSocket 连接令牌的后端工程师
  • 负责集成官方 Python WebSocket 客户端、并处理断线重连的应用开发
  • 需要把 PubSub 鉴权从连接字符串迁到 DefaultAzureCredential 与托管标识的平台工程师
  • 设计多租户 SaaS 通知通道、要用 roles 限权并按用户/组路由消息的架构师