开发与工程 ✓ Microsoft · 官方 azure-cosmos-dbpythonfastapipydanticpartition-keyparameterized-queriestdd

Azure Cosmos DB Python 服务构建助手

帮助 Python 团队构建安全、可测试且适用于 FastAPI 的 Cosmos DB NoSQL 服务。

FollowSkills 评估 · FSRS-2.0
不推荐
47/ 100 五分制 2.4 / 5
信任安全13 / 25 · 2.6/5

证据显示优先使用 DefaultAzureCredential、生产环境避免密钥、模拟器密钥限定本地用途,并要求参数化查询;但删除操作没有用户确认、回滚或恢复方案,分区键授权仅作为原则提出而未实现,客户端生命周期示例存在未关闭问题,错误日志可能暴露端点和内部信息,因此扣分。

可靠稳定7 / 20 · 1.8/5

证据提供客户端、服务层、错误处理、重试和测试模板,主流程具有可理解性;但静态材料显示同步 Cosmos 客户端、线程池包装和异步上下文管理之间存在不一致,示例含多个 TODO、未固定依赖版本,失败状态有时以 None、空列表或 False 静默表示,且未提供可执行结果,因此受静态上限约束并扣分。

适用触发8 / 15 · 2.7/5

目标用户、Cosmos DB Python/FastAPI 场景和主要触发词较明确,覆盖认证、CRUD、分区键与测试;但触发词如 NoSQL database 和 add persistence 过宽,FastAPI 及特定项目模型假设明显,非适用边界、中文支持和中国大陆网络可达性未说明,因此扣分。

规范维护9 / 15 · 3.0/5

证据包含安装、环境变量、分层文档、参考文件、模板、MIT 许可证、作者和 1.0.0 版本元数据,信息架构较完整;但未提供兼容性矩阵、依赖锁定、变更日志、明确维护责任或更新路径,仓库 README 还声明整体处于持续开发阶段,因此扣分。

有效结果6 / 15 · 2.0/5

模板覆盖客户端初始化、CRUD、查询、分区策略、错误处理和测试,理论上能完成核心服务层搭建;但模板需要大量重命名、模型补充和项目配置,生产级质量及代表性输出未被静态证据验证,且部分示例需要人工修正,因此按静态上限给出中等分数并扣分。

证据核验4 / 10 · 2.0/5

证据是可审计的版本化源文件,包含测试模板、集成测试模式和仓库 CI 标识;但没有提供该技能关键路径的实际执行结果、完整测试套件或独立复核材料,README 徽章也不足以证明本技能已通过覆盖性测试,因此仅给有限分数。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 不要直接将模板视为生产就绪代码;先统一同步/异步客户端策略,并补充客户端和凭据的关闭流程。
  • 删除、跨分区移动和跨租户访问前应加入明确授权、用户确认、审计及失败恢复机制。
  • 审查 extra_filter 的调用边界、异常日志和配置加载,避免查询片段注入及敏感信息泄露。
  • 材料未说明 Azure 服务在中国大陆网络和区域环境中的可达性,部署前需单独验证。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向使用 Python 和 FastAPI 构建 Azure Cosmos DB NoSQL 服务的开发者。它提供客户端配置、DefaultAzureCredential 与模拟器双重认证、服务层 CRUD、分区键、参数化查询和测试驱动开发模式。内容还涵盖 Pydantic 五层模型、优雅降级、单例容器以及同步或异步客户端生命周期管理。它适合需要生产级实现模式的 Azure 应用,但不负责部署 Cosmos DB 资源。

指导编码代理安装 azure-cosmos 和 azure-identity,读取环境变量配置 Cosmos 端点、数据库和容器,创建带 DefaultAzureCredential 或模拟器密钥的客户端,设计 FastAPI 路由与 Cosmos DB 服务层,生成 CRUD、文档与模型转换、分区键访问、参数化查询和 pytest 测试代码,并建议使用上下文管理器释放客户端和凭据资源。

  1. 正在开发 FastAPI 后端、需要为项目或工作区增加 Cosmos DB 持久化的 Python 开发者。
  2. 希望在本地使用 Cosmos DB 模拟器、在 Azure 生产环境使用托管身份或其他 Entra 凭据的团队。
  3. 需要按分区键隔离数据、避免跨分区扫描并验证用户授权范围的应用开发者。
  4. 希望先编写 pytest 测试,再实现可模拟 Cosmos 容器的服务层的团队。
  5. 需要将 Cosmos DB 文档、Pydantic API 模型和业务逻辑分离的后端项目。

优缺点一览

优点
  • 覆盖认证、客户端生命周期、服务层、模型、分区键、查询和测试等完整实现环节。
  • 明确优先使用 DefaultAzureCredential,并将密钥限制在模拟器或本地开发场景。
  • 提供 FastAPI、Pydantic 和 pytest 的具体代码模式。
  • 强调参数化查询、授权相关分区键校验和优雅降级等生产实践。
  • 仓库采用 MIT 许可证,并通过 npx skills add 提供集合安装方式。
局限
  • 只聚焦 Cosmos DB NoSQL 服务实现,不涵盖资源部署或完整基础设施配置。
  • 技能依赖 Python、Azure SDK、FastAPI、Pydantic 和 pytest,源材料未说明版本兼容范围。
  • 源材料没有提供该单项技能独立测试覆盖或运行结果。
  • 异步实现、单例生命周期和上下文管理器之间需要开发者根据项目结构自行整合。

如何安装

在目标项目中运行 npx skills add microsoft/skills,在安装向导中选择 azure-cosmos-db-py。README 也说明可从仓库复制该技能到代理目录;技能源文件位于 .github/plugins/azure-sdk-python/skills/azure-cosmos-db-py/SKILL.md。具体代理目录由安装向导决定。

如何使用

在支持 Agent Skills 的编码代理中提出类似“为 FastAPI 添加 Azure Cosmos DB NoSQL 持久化,使用 DefaultAzureCredential、分区键、服务层 CRUD 和 pytest 测试”的请求,或使用“Cosmos DB”“Python Cosmos SDK”“database service layer”等触发短语。实现时按技能要求设置 COSMOS_ENDPOINTCOSMOS_DATABASE_NAMECOSMOS_CONTAINER_ID;模拟器场景还需 COSMOS_KEY

常见问题

生产环境应该使用 Cosmos DB 密钥吗?
技能建议使用 DefaultAzureCredential,并在生产环境通过 `AZURE_TOKEN_CREDENTIALS=prod` 或指定凭据限制凭据链;密钥主要用于模拟器或基于密钥的本地认证。
可以在没有 Azure Cosmos DB 资源的情况下开发吗?
可以,技能提供本地模拟器示例,使用 `https://localhost:8081`、模拟器密钥和 `connection_verify=False`。
技能是否包含 Azure 服务费用信息?
没有。源材料只说明仓库采用 MIT 许可证,未提供 Cosmos DB 使用成本或定价信息。
Cosmos 不可用时应用会怎样?
建议的服务层模式是在 Cosmos 不可用时返回 `None` 或空列表,并配合瞬态故障的指数退避重试。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills