用途:在本地 Azure SQL Database 容器(Private Preview 引擎,EngineEdition=5)之上,用 Microsoft Data API Builder(DAB) 生成 REST、GraphQL 以及内置 MCP 端点,无需编写应用代码;在 dab-config.json 中把表声明为实体即可。
主要能力:DAB 通过普通 TDS 连接字符串连接,不依赖变更跟踪或特殊引擎特性;提供 /api/<Entity> 的 REST 端点(支持 OData 风格 $filter、$select、$orderby、$first、$after 及 POST/PATCH/PUT/DELETE)、/graphql 查询与变更、OpenAPI(/api/openapi)与 Swagger(仅 Development 模式)、/health,以及默认启用的 /mcp 端点。关系导航需先声明关系。
使用方式:先安装 DAB——dotnet tool install --global Microsoft.DataApiBuilder(需 .NET 8),或使用容器镜像 mcr.microsoft.com/azure-databases/data-api-builder:latest。然后用 @env('SQL_CONNECTION_STRING') 提供连接串,执行 dab init --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')" --host-mode Development,再用 dab add Book --source dbo.Books --source.type table --permissions "anonymous:*" 添加实体,最后 dab start(默认端口 5000)。
限制:DAB 不会自动创建数据库,须先在 master 连接上执行 CREATE DATABASE appdb;不要用 USE 切库。容器镜像在私有注册表,需先 docker login sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io;非 x64 主机需加 --platform linux/amd64;必须设置 ACCEPT_EULA=Y 和复杂 MSSQL_SA_PASSWORD;连接串需含 TrustServerCertificate=true。anonymous:* 仅限本地开发,不可用于生产。具体配置细节与 MCP 用法暂未完整提供,请参考随附参考文档。