微软宣布Azure Cosmos DB的数据API构建器正式发布

微软宣布Data API Builder for Azure Cosmos DB正式发布

微软近日宣布了Data API Builder for Azure Cosmos DB的正式发布。这一开源项目为Azure数据库和本地存储提供了REST和GraphQL端点。

主要功能与特点

Data API Builder(DAB)旨在简化在Azure Cosmos DB集合上暴露GraphQL端点的过程,支持关系查询、过滤和突变操作(包括补丁操作)。DAB提供了跨平台CLI、原生OpenAPI支持、Swagger用于REST端点,以及Banana Cake Pop用于GraphQL端点。

应用场景

Azure Cosmos DB产品经理Sajeetharan Sinnathurai提到了一些使用场景:

  • 无论是构建数据交换中心、开发移动应用,还是操作Azure数据库,Data API Builder都能提供支持。它能无缝集成各种后端存储,从NoSQL到关系数据库,并能轻松管理多个数据库。

技术架构

DAB是一个跨平台且与语言无关的工具,旨在通过单个配置文件替换任何执行CRUD操作的自定义API。它提供了重试策略、全面的日志记录、内存缓存以及映射列和过滤结果的能力。DAB是一个使用C#编写的ASP.NET项目,使用了ChilliCream的Hot Chocolate用于GraphQL,以及FusionCache用于内存缓存。

开发背景

微软高级产品经理Jerry Nixon项目正式发布公告中写道:

  • 近三年前,Data API Builder只是一个梦想。我们如何减少开发者在客户端应用程序中访问数据库的摩擦?我们创建了Data API Builder来解决这个问题,提供安全且功能丰富的REST和GraphQL端点,无需编写代码。

容器化与部署

DAB基于容器,允许开发者在创建GraphQL端点的同时,保持精细且灵活的安全功能。Sinnathurai补充道:

  • DAB是一个标准的Docker友好型容器,完全无状态且可扩展。你可以在自己的环境或云中运行它,运行一个或多个容器来连接单个或多个数据库。

与Azure服务的集成

DAB支持自定义本地部署,并原生集成Azure Static Web Apps,同时兼容Azure Container Apps、Azure Container Instances、Azure Kubernetes Service和Azure Web Apps for Containers。

未来展望

一些开发者希望添加对Cosmos DB for MongoDB的支持。微软首席产品经理Arun Vijayraghavan评论中提到:

  • DAB项目的突出之处在于它将数据库更接近边缘提供商。例如,Cloudflare、Vercel、Netlify等边缘提供商基于Javascript V8或Deno,这些平台没有完整的API集来与数据库交互,因此最佳解决方案是使用REST API访问数据库。

开源与许可

Data API Builder项目是免费的,没有高级版本,并在GitHub上以MIT许可证提供。

阅读 32
0 条评论