Agent Skills
返回列表
💻

Azure 事件网格 Python

开发编程 更新于 2026.08.30

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

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

技能介绍

要解决什么问题

在 Azure 上把「谁产生了什么事件、该通知谁」从业务代码里拆出去,通常需要统一的事件路由层,而不是在每个服务里手写 HTTP 回调链。Event Grid 提供发布/订阅语义;Python 侧若缺少一致的鉴权、客户端生命周期与事件格式约定,本地开发与生产托管标识之间也容易反复改代码。

技能覆盖的核心能力

本技能围绕 Azure Event Grid Python SDK,说明如何用 Python 发布与路由事件:

  • 事件格式:优先 CloudEvent(Cloud Events 1.0,互操作友好);Azure 原生场景可用 EventGridEvent。
  • 鉴权:强调 DefaultAzureCredential,本地(Azure CLI / VS Code 等)与云端(托管标识、工作负载标识)同一套写法;生产可通过 AZURE_TOKEN_CREDENTIALS 收紧凭据链,避免长期依赖连接字符串或 API 密钥。
  • 客户端用法:同步用 with (...),异步用 async with 包裹客户端,并对 azure.identity.aio 的凭据同样使用上下文管理器,确保 HTTP 传输与令牌缓存被释放。
  • 扩展场景:含异步客户端、Event Grid Namespaces(拉取式投递)、批量发布、有意义的 subject 与事件类型以便过滤与路由。

适用边界与注意点

  • 同一调用路径内 不要混用 同步 azure.xxx 与 azure.xxx.aio 异步客户端,模块内选一种模式并保持一致。
  • Event Grid 自带重试,应用侧仍需按业务语义处理幂等与重复投递。
  • 非核心能力与生产检查清单见技能内 references/capabilities.md;次要/高级示例见 references/non-hero-scenarios.md。

使用场景

  • 订单或库存等服务状态变更后,用 Python 向 Event Grid 主题批量发布 CloudEvent,供多个订阅端按类型过滤。
  • 在 Azure 函数或容器应用中接入 Event Grid,需要与本地开发共用 DefaultAzureCredential 鉴权写法。
  • 业务系统需同时兼容 Cloud Events 1.0 与 Event Grid 原生 Schema,按场景选择 CloudEvent 或 EventGridEvent 发布。
  • 高吞吐出站场景下,用异步客户端向命名空间主题发布,并配合 Event Grid Namespaces 的拉取式投递消费。

适合人员

  • 在 Azure 上维护多订阅者出站链路的后端工程师,希望统一 Python 发布端鉴权与客户端生命周期写法。
  • 负责企业事件总线与 Cloud Events 互操作的平台工程师,需在 Python 中切换 CloudEvent 与 EventGridEvent。
  • 编写异步、高并发事件发布路径的 Python 服务开发者,需避免同步与 aio 客户端混用。
  • 从本地 Azure CLI 开发迁移到托管标识生产环境的人,希望减少连接字符串与 API 密钥依赖。