通过


数据 API 生成器的功能可用性

这些表列出了数据 API 生成器(DAB)中提供的功能。

数据库版本

Database 缩写 最小值 版本
SQL Server MSSQL 版本 2016
Azure SQL 数据库 MSSQL N/A (PaaS)
Azure SQL 托管实例 MSSQL N/A (PaaS)
Azure VM 上的 SQL Server MSSQL 版本 2016
已启用 Arc 的 SQL Server MSSQL 版本 2016
Fabric 中的 SQL 数据库 MSSQL N/A (PaaS)
Azure Cosmos DB for NoSQL COSMOSDB N/A (PaaS)
PostgreSQL PGSQL 版本 11
Azure Database for PostgreSQL 灵活服务器 PGSQL 版本 11
MySQL MySQL 版本 8
Azure Database for MySQL 灵活服务器 MySQL 版本 5.7
Azure Synapse Analytics (专用 SQL 池) DWSQL¹ N/A (PaaS)

默认事务隔离级别

数据 API 生成器使用以下默认事务隔离级别。

数据库类型 隔离级别 详细信息
Microsoft SQL 读取已提交 Azure SQL
PostgreSQL 读取已提交 PostgreSQL
MySQL 可重复的读取 MySQL

云和托管环境

数据 API 生成器在容器支持的任何环境中运行。 以下是常见的云部署目标:

环境 已支持
Microsoft Azure ✅ 是
Amazon Web Services (AWS) ✅ 是
Google Cloud Platform (GCP) ✅ 是
任何其他云提供商 ✅ 是
本地 ✅ 是

GraphQL

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Pagination ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Throttling ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
筛选 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
聚合 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
排序 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
选择 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
查询类型 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
突变类型 ✅ 是 ⚠️ 部分 ✅ 是 ✅ 是 ✅ 是
Multi-Mutation ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
高级 GroupBy ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
高级拥有 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
架构生成 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
架构属性 (@model ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
架构属性 (@authorize ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
用户提供的架构 ✖️ 不 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不
Subscription ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
硝基 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
缓存标头 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
级别 1 缓存:内存 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
级别 2 缓存:Redis ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是

GraphQL 关系导航

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
一To-Many/查询 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
一To-Many/突变 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
多To-Many/查询 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
多To-Many/突变 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
跨源关系 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
跨源联接 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不

REST

Feature MSSQL Cosmos 平方公里 PGSQL MySQL DWSQL¹
PUT ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
POST ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
PATCH ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
DELETE ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
GET ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
Pagination ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
OData-like $Select ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
OData-like $Filter ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
OData-like $Count ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
OData-like $OrderBy ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
OData-like $First ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
$After (游标分页) ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
OpenAPI 文档 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
Swagger UI ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
权限感知 OpenAPI ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
高级 REST 路径 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
无键 PUT 和 PATCH ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
缓存标头 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
级别 1 缓存:内存 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
级别 2 缓存:Redis ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
POCO 就绪有效负载 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
OpenAPIReference ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不

支持的数据库对象

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Tables ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
Views ✅ 是 ✖️ 不 ✅ 是 ✖️ 不 ✅ 是
存储过程 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
Proc 参数 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
Functions ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
Collections ✖️ 不 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不
字段映射 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是

实体权限

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Create ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Read ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Update ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Delete ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Execute ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
包括字段 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
排除字段 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是

数据库策略

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Create ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
Read ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
Update ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
Delete ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
Execute ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
Single-Table 策略 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
多表策略 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
请求策略 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不

身份验证功能

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
UAMI (Entra ID)⁴ ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
SAMI (Entra ID)⁴ ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure EasyAuth ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
on-Behalf-Of (OBO) ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
未经身份验证的提供程序 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
角色继承 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
API 密钥安全性 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不

其他功能

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
本机 JSON 支持 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
本机 XML 支持 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
本机向量支持 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
自动配置 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
HTTP 响应压缩 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Application Insights ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Log Analytics ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
文件日志记录 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
会话上下文 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
多个数据源 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
跨源联接 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
OpenTelemetry ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
运行状况终结点 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
自定义日志级别 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
.NET Aspire ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
MCPΜ ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是

MCP 服务器

注释

MCP 服务器功能需要数据 API 生成器版本 1.7 或更高版本。

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
DML 工具:CREATE ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
DML 工具:READ ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
DML 工具:UPDATE ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
DML 工具:DELETE ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
DML 工具:EXECUTE ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
DML 工具:DESCRIBE ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
存储过程作为工具 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
自定义 MCP 工具 ✅ 是 ✖️ 不 ✖️ 不 ✖️ 不 ✅ 是
服务器说明 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
对象元数据 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
字段元数据 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
参数元数据 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
读取:分页 ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
读: $Select ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
读: $Filter ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
读: $Count ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不 ✖️ 不
读: $OrderBy ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
读: $First ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是
读: $After ✅ 是 ✖️ 不 ✅ 是 ✅ 是 ✅ 是

容器业务流程平台

数据 API 生成器在任何容器运行时或业务流程平台上运行。 常见平台包括:

平台 已支持
Azure 容器应用 (ACA) ✅ 是
Azure 容器实例 (ACI) ✅ 是
Azure Kubernetes Service (AKS) ✅ 是
AWS 弹性容器服务 (ECS) ✅ 是
AWS Elastic Kubernetes 服务 (EKS) ✅ 是
Google Kubernetes 引擎 (GKE) ✅ 是
Kubernetes (任何分发版) ✅ 是
Docker ✅ 是
任何其他容器运行时 ✅ 是

Azure 部署服务

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Azure 容器应用 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure 容器实例 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure Kubernetes 服务 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
用于容器的 Azure Web 应用 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure Red Hat OpenShift ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure Spring Apps ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure Service Fabric ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是
Azure 虚拟机 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 是

不支持的数据类型

数据 API 生成器不支持每个数据库平台的某些数据类型。 这些限制通常是由于序列化约束或基础数据库驱动程序中缺少本机支持。

Microsoft SQL

数据类型 Description
geography 表示地球表面的地理空间数据。
geometry 使用笛卡尔坐标的平面空间数据。
hierarchyid 分层数据管理。
json JSON 格式的数据。
rowversion 并发控制的行版本控制。
sql_variant 各种 SQL Server 支持的数据类型的值。
vector 矢量数据。
xml XML 格式化的数据。

PostgreSQL

数据类型 Description
bytea 二进制字符串存储。
date 日历日期(年、月、日)。
smalldatetime 不太精确的日期和时间存储。
datetime2 不是本机;通常由 timestamp.
timestamptz 时区的日期和时间。
time 不带日期的一天时间。
localtime 基于系统时钟的当前时间。

MySQL

数据类型 Description
UUID 通用唯一标识符。
DATE 日历日期。
SMALLDATETIME 不太精确的日期和时间存储。
DATETIME2 不是本机;通常由 datetime.
DATETIMEOFFSET 时区的日期和时间。
TIME 不带日期的一天时间。
LOCALTIME 基于系统时钟的当前时间。

Azure Cosmos DB for NoSQL

Azure Cosmos DB for NoSQL 与架构无关,因此数据类型限制不适用于关系数据库。

脚注

¹ DWSQL 仅反映对专用 SQL 池的支持。 不支持无服务器 SQL 池。

通过 GraphQL 在 DAB 中支持。 DAB 不会为 Cosmos 生成 REST 终结点,因为 NoSQL API 提供本机 REST API。 有关详细信息,请参阅 Azure Cosmos DB:REST API 参考

Μ MCP(模型上下文协议)是终结点级功能,而不是特定于数据库的功能。

⁴ 托管标识支持使用 Azure DefaultAzureCredential,它同时支持 System-Assigned (SAMI) 和 User-Assigned (UAMI) 托管标识。 UAMI 需要设置 AZURE_CLIENT_ID 环境变量。

⚠️ Cosmos DB 突变的部分意味着支持基本创建、更新和删除作,但并非所有突变类型(如多突变)都可用。