内容提要
Microsoft宣布Azure Cosmos DB的Data API builder已正式发布。该开源项目为Azure数据库和本地存储提供了REST和GraphQL端点。Data API builder旨在简化在Azure Cosmos DB集合上公开GraphQL端点的过程,包括关系查询、过滤和变更。它提供了跨平台CLI、本地OpenAPI支持、REST端点的Swagger和GraphQL端点的Banana Cake Pop。DAB是一个ASP.NET项目,使用C#编写,使用ChilliCream的Hot Chocolate进行GraphQL和FusionCache进行内存缓存。该项目免费,并在GitHub上以MIT许可证发布。
延伸解读
DAB 的定位与核心价值
Data API builder 旨在替代开发者针对数据库 CRUD 操作编写的自定义 API,通过单一配置文件即可生成 REST 和 GraphQL 端点。它跨平台、语言无关,并内置重试策略、全面日志记录和内存缓存,减少了手动构建 API 层的重复工作。对于需要快速暴露数据库接口的项目,DAB 提供了一种零代码的标准化方案。
部署灵活性与集成生态
DAB 以 Docker 友好容器形式交付,完全无状态且可扩展,支持本地或云端运行,并可同时管理多个数据库。它原生集成 Azure Static Web Apps,并兼容 Azure Container Apps、Azure Kubernetes Service 等服务,也支持自定义本地部署。这种设计让开发者能根据现有架构选择部署方式,而不必绑定特定托管环境。
边缘计算场景的适配性
微软产品经理指出,DAB 能将数据库能力延伸至边缘提供商。Cloudflare、Vercel、Netlify 等平台基于 JavaScript V8 或 Deno,缺乏与数据库交互的完整 API,而通过 DAB 生成的 REST 端点,这些边缘环境可以更便捷地访问数据库。这为在边缘侧构建数据驱动应用提供了一种可行的集成路径。
开源许可与功能边界
DAB 是免费开源项目,采用 MIT 许可证,没有高级版本或付费层级。它基于 ASP.NET 和 C# 构建,使用 Hot Chocolate 处理 GraphQL、FusionCache 实现内存缓存。需要注意的是,目前社区有对 Cosmos DB for MongoDB 支持的需求,但文章未说明该功能是否已纳入路线图,开发者需关注后续更新。
Q&A
Azure Cosmos DB的Data API构建器有什么功能?
Data API构建器提供REST和GraphQL端点,简化在Azure Cosmos DB集合上公开GraphQL端点的过程,支持关系查询、过滤和变更。
Data API构建器是如何支持多种数据库的?
Data API构建器能够与多种后端存储无缝集成,包括NoSQL和关系数据库,支持同时管理多个数据库。
Data API构建器的主要技术栈是什么?
Data API构建器是一个ASP.NET项目,使用C#编写,结合ChilliCream的Hot Chocolate进行GraphQL和FusionCache进行内存缓存。
Data API构建器的部署方式有哪些?
Data API构建器是无状态的Docker友好容器,可以在本地或云环境中运行,支持自定义本地部署。
Data API构建器的使用是否收费?
该项目是免费的,没有高级版本,并在GitHub上以MIT许可证发布。
Data API构建器如何提高开发者的效率?
Data API构建器通过提供安全且功能丰富的REST和GraphQL端点,减少了开发者访问数据库的摩擦,支持零代码配置。