Azure API Management Python 技能
帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。
证据显示技能推荐 DefaultAzureCredential、限制生产凭据链、避免连接字符串和密钥,并使用环境变量;但创建服务、订阅、用户、策略和后端等外部变更均未要求用户确认、最小 RBAC 范围、回滚或删除路径,且示例直接打印订阅主密钥并包含明文秘密/HTTP 后端,因此扣分。
示例覆盖认证、同步客户端、长任务和多个 APIM 操作,整体指令一致;但没有异常处理、分页、重试、幂等性验证或可诊断失败反馈,引用文件也明确要求再次核对当前 API,因此按静态上限保守扣分。
名称、描述和触发词清楚,覆盖服务、API、产品、订阅、策略、秘密、后端和用户场景;但未明确非适用边界、权限前提、异步实现和输入校验,且未讨论中国网络/区域可达性,因此扣分。
具备 YAML 元数据、MIT 许可、版本号、安装说明、环境变量、分层参考文件、操作组表和生产检查清单,结构较清晰;但缺少变更日志、明确维护责任/更新流程、依赖版本约束、FAQ 和完整清理示例,因此扣分。
技能能为常见 APIM 管理任务提供可直接改写的 Python 片段,覆盖面较广;但代码多依赖已存在的 client、资源组和权限,缺少端到端可运行项目、删除/回滚流程、错误处理和验证步骤,用户仍需较多整合与复核,因此未给满分。
仓库提供修订固定的源码、参考文件、MIT 许可证以及通用 CI/测试基础设施,具备一定审计线索;但未提供该技能专属的验收标准、提交测试或第三方执行结果,结论主要来自静态文本,按静态上限扣分。
- 所有创建、更新和策略操作都可能产生真实 Azure 资源或配置变更;执行前应确认目标订阅、资源组、权限和变更范围,并准备删除或恢复方案。
- 不要打印或硬编码订阅密钥、API 密钥或其他秘密;应使用安全的秘密存储和最小权限。
- 示例中的 SDK 方法、模型字段和枚举应与目标版本的官方 API 文档核对;未提供该技能专属的可执行测试证据。
- Import API from URL 和后端配置涉及外部网络数据流;应审查 URL、TLS、数据内容和网络可达性。
它能做什么 & 适用场景
该技能面向使用 azure-mgmt-apimanagement Python SDK 的开发者和编码代理。它提供 APIM 服务创建、OpenAPI 导入、API 列表、产品与订阅管理、策略配置,以及后端、命名值和用户管理示例。技能建议使用 DefaultAzureCredential 和客户端上下文管理器,并要求设置 Azure 订阅 ID。它适合需要通过 Python 自动化 Azure API 网关配置的项目,但不覆盖其他语言或完整的部署流程。
安装 azure-mgmt-apimanagement 和 azure-identity;读取 AZURE_SUBSCRIPTION_ID 及可选的 AZURE_TOKEN_CREDENTIALS;通过 ApiManagementClient 调用 Azure API,创建或更新 APIM 服务、导入 OpenAPI API、列出 API、创建产品和订阅、关联产品与 API、设置 API 策略、创建命名值、后端和用户;示例会输出服务名称、API 名称、产品名称或订阅主密钥。
- 负责 Azure 平台的 Python 开发者需要创建或更新 APIM 服务时,可用它生成 SDK 调用代码。
- 维护 OpenAPI 文档的团队需要将 JSON 内容或 URL 导入 API Management 时,可参考其导入示例。
- API 平台团队需要把 API 组合到产品并创建订阅访问范围时,可使用其产品和订阅操作。
- 需要为 API 添加限流和请求头规则的开发者,可参考其 XML 策略配置示例。
- 需要以托管身份或 DefaultAzureCredential 访问 Azure 的团队,可采用其认证和客户端生命周期模式。
优缺点一览
- 覆盖 APIM 服务、API、产品、订阅、策略、后端、命名值和用户等具体操作。
- 同时给出 OpenAPI JSON 内容导入和 URL 导入示例。
- 明确建议使用 DefaultAzureCredential、生产凭据约束和客户端上下文管理器。
- 提供同步与异步客户端选择及资源清理方面的实践建议。
- 仅针对 Python SDK,不提供 .NET、TypeScript、Java 或 Rust 用法。
- 示例依赖真实 Azure 订阅和相应权限;来源没有列出具体 RBAC 角色或权限矩阵。
- 来源没有展示该单个技能的专属测试覆盖情况。
- 虽然建议启用 Application Insights 和 API 版本管理,但没有给出对应代码示例。
如何安装
在 Copilot CLI 或兼容客户端中运行 npx skills add microsoft/skills,在选择器中选择此技能。也可以克隆仓库后,将 .github/plugins/azure-sdk-python/skills/azure-mgmt-apimanagement-py 复制到所用代理的技能目录;README 未提供该单个技能的独立安装命令。
如何使用
在已安装技能的编码代理中提出包含触发词的请求,例如:使用 azure-mgmt-apimanagement 和 ApiManagementClient,把 OpenAPI URL 导入现有 APIM,并为 API 设置限流策略。 运行生成的 Python 代码前,安装 azure-mgmt-apimanagement 和 azure-identity,并设置 AZURE_SUBSCRIPTION_ID;使用 DefaultAzureCredential 时按文档设置 AZURE_TOKEN_CREDENTIALS。