Partilhar via


Disponibilidade de recursos para o construtor de API de dados

Essas tabelas listam os recursos disponíveis no Data API builder (DAB).

Versão da base de dados

Database Abreviatura Min. Versão
SQL Server MSSQL Versão 2016
Base de Dados SQL do Azure MSSQL N/A (PaaS)
Azure SQL Managed Instance MSSQL N/A (PaaS)
SQL Server em VMs do Azure MSSQL Versão 2016
SQL Server habilitado para Arc MSSQL Versão 2016
Banco de dados SQL no Fabric MSSQL N/A (PaaS)
Azure Cosmos DB for NoSQL COSMOSDB N/A (PaaS)
PostgreSQL PGSQL Versão 11
Banco de Dados do Azure para Servidor Flexível PostgreSQL PGSQL Versão 11
MySQL MySQL Versão 8
Banco de Dados do Azure para Servidor Flexível MySQL MySQL Versão 5.7
Azure Synapse Analytics (Dedicated SQL pool) DWSQL¹ N/A (PaaS)

Níveis padrão de isolamento de transações

O Data API Builder utiliza os seguintes níveis de isolamento de transações por defeito.

Tipo de base de dados Nível de isolamento Mais informações
Microsoft SQL Leia Comprometido Azure SQL
PostgreSQL Leia Comprometido PostgreSQL
MySQL Leitura repetível MySQL

Ambientes de cloud e alojamento

O Data API Builder corre em qualquer ambiente com suporte para contentores. Os seguintes são os alvos comuns de implementação na cloud:

Meio Ambiente Suportado
Microsoft Azure ✅ Sim
Amazon Web Services (AWS) ✅ Sim
Plataforma Google Cloud (GCP) ✅ Sim
Qualquer outro fornecedor de cloud ✅ Sim
On-premises ✅ Sim

GraphQL

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Paginação ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Throttling ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Filtragem ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Agregação ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Classificação ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Seleção ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Tipo de consulta ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Tipo de mutação ✅ Sim ⚠️ Parcial ✅ Sim ✅ Sim ✅ Sim
Multi-Mutation ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Avançado GroupBy ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Ter Avançado ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Geração de esquemas ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Atributo Schema (@model) ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Atributo Schema (@authorize) ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Esquema fornecido pelo usuário ✖️ Não ✅ Sim ✖️ Não ✖️ Não ✖️ Não
Subscription ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Nitro ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Cabeçalhos de cache ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Cache de Nível 1: Memória ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Cache de Nível 2: Redis ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim

Navegação de relacionamento GraphQL

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Um-To-Many / Consulta ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Um-To-Many / Mutação ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Muitos-To-Many / Consulta ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Muitos-To-Many / Mutação ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Relações entre Fontes ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Ligações entre Fontes ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não

REST

Feature MSSQL Cosmos² PGSQL MySQL DWSQL¹
PUT ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
POST ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
PATCH ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
DELETE ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
GET ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Paginação ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Semelhante a OData $Select ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Semelhante a OData $Filter ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Semelhante a OData $Count ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Semelhante a OData $OrderBy ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Semelhante a OData $First ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
$After (Cursor a passar) ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Documento OpenAPI ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Interface Swagger ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
OpenAPI com permissão ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Caminhos REST Avançados ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
PUT e PATCH sem chave ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Cabeçalhos de cache ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Cache de Nível 1: Memória ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Cache de Nível 2: Redis ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Carga Útil Pronta para POCO ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
OpenAPIReference ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não

Objetos de banco de dados suportados

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Tables ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Views ✅ Sim ✖️ Não ✅ Sim ✖️ Não ✅ Sim
Procedimentos armazenados ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Parâmetros de Proc ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Funções ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Collections ✖️ Não ✅ Sim ✖️ Não ✖️ Não ✖️ Não
Mapeamento de Campos ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim

Permissões de Entidade

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Create ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
READ ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Update ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Delete ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Execute ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Incluir Campos ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Excluir campos ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim

Política de Base de Dados

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Create ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
READ ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Update ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Delete ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
Execute ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Single-Table Políticas ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Apólices Multi-Table ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Política de Pedidos ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não

Funcionalidades de Autenticação

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
UAMI (Entra ID)⁴ ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
SAMI (Entra ID)⁴ ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Azure EasyAuth ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Em-Nome-De (OBO) ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Fornecedor Não Autenticado ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Herança de Papéis ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Segurança por chave API ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não

Outras características

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Suporte JSON nativo ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Suporte nativo a XML ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Suporte vetorial nativo ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Configuração automática ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Compressão de Resposta HTTP ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Informações sobre aplicativos ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Análise de Registos ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Registo de ficheiros ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Contexto da Sessão ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✖️ Não
Várias fontes de dados ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Junção entre fontes ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
OpenTelemetria ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Endpoints de Saúde ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Níveis de Registo Personalizados ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
.NET Aspire ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
MCP³ ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim

Servidor MCP

Observação

As funcionalidades do servidor MCP requerem Data API builder versão 1.7 ou posterior.

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Ferramenta DML: CRIAR ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Ferramenta DML: LER ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
DML-tool: ATUALIZAÇÃO ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
DML-tool: DELETE ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Ferramenta DML: EXECUTAR ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Ferramenta DML: DESCREVER ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Procedimento Armazenado como Ferramenta ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Ferramentas MCP Personalizadas ✅ Sim ✖️ Não ✖️ Não ✖️ Não ✅ Sim
Instruções do Servidor ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Metadados de objetos ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Metadados de campo ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Metadados de parâmetros ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
LER: Paginação ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
LEIA: $Select ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
LEIA: $Filter ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
LEIA: $Count ✖️ Não ✖️ Não ✖️ Não ✖️ Não ✖️ Não
LEIA: $OrderBy ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
LEIA: $First ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim
LEIA: $After ✅ Sim ✖️ Não ✅ Sim ✅ Sim ✅ Sim

Plataformas de Orquestração de Contentores

O Data API Builder funciona em qualquer plataforma de execução ou orquestração de contentores. Plataformas comuns incluem:

Plataforma Suportado
Azure Container Apps (ACA) ✅ Sim
Instâncias de Contêiner do Azure (ACI) ✅ Sim
Serviço de Kubernetes do Azure (AKS) ✅ Sim
AWS Elastic Container Service (ECS) ✅ Sim
AWS Elastic Kubernetes Service (EKS) ✅ Sim
Motor Kubernetes do Google (GKE) ✅ Sim
Kubernetes (qualquer distribuição) ✅ Sim
Docker ✅ Sim
Qualquer outro tempo de execução de contentor ✅ Sim

Azure deployment services

Feature MSSQL Cosmos PGSQL MySQL DWSQL¹
Azure Container Apps ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Azure Container Instances ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Serviços Kubernetes do Azure ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Aplicativo Web do Azure para contêineres ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Azure Red Hat OpenShift ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Azure Spring Apps ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Azure Service Fabric ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim
Máquina Virtual do Azure ✅ Sim ✅ Sim ✅ Sim ✅ Sim ✅ Sim

Tipos de dados não suportados

O Data API Builder não suporta alguns tipos de dados para cada plataforma de base de dados. Estas limitações devem-se tipicamente a restrições de serialização ou à falta de suporte nativo no driver da base de dados subjacente.

Microsoft SQL

Tipo de dados Description
geography Dados geoespaciais que representam a superfície da Terra.
geometry Dados espaciais planos usando coordenadas cartesianas.
hierarchyid Gestão hierárquica de dados.
json Dados formatados em JSON.
rowversion Versão de linha para controlo de concorrência.
sql_variant Valores de vários tipos de dados suportados pelo SQL Server.
vector Dados vetoriais.
xml Dados formatados em XML.

PostgreSQL

Tipo de dados Description
bytea Armazenamento binário de cadeias.
date Datas do calendário (ano, mês, dia).
smalldatetime Armazenamento menos preciso de datas e horas.
datetime2 Não é nativo; normalmente tratado por timestamp.
timestamptz Datas e horários com fuso horário.
time Hora do dia sem data.
localtime Tempo atual baseado no relógio do sistema.

MySQL

Tipo de dados Description
UUID Identificadores Universalmente Únicos.
DATE Datas do calendário.
SMALLDATETIME Armazenamento menos preciso de datas e horas.
DATETIME2 Não é nativo; normalmente tratado por datetime.
DATETIMEOFFSET Datas e horários com fuso horário.
TIME Hora do dia sem data.
LOCALTIME Tempo atual baseado no relógio do sistema.

Azure Cosmos DB for NoSQL

O Azure Cosmos DB para NoSQL é independente do esquema, por isso as restrições de tipos de dados não se aplicam da mesma forma que as bases de dados relacionais.

Notas de rodapé

¹ DWSQL reflete suporte apenas para pool SQL dedicado. O pool SQL serverless não é suportado.

² O Cosmos é suportado em DAB via GraphQL. O DAB não gera endpoints REST para o Cosmos porque a API para NoSQL fornece uma API REST nativa. Para mais informações, consulte Azure Cosmos DB: REST API Reference.

³ MCP (Model Context Protocol) é uma capacidade ao nível do endpoint, não específica da base de dados.

⁴ O suporte a identidade gerida utiliza Azure DefaultAzureCredential, que suporta identidades geridas System-Assigned (SAMI) e User-Assigned (UAMI). O UAMI requer definir a AZURE_CLIENT_ID variável de ambiente.

⚠️ Parciais para mutações do Cosmos DB significa que operações básicas de criação, atualização e eliminação são suportadas, mas nem todos os tipos de mutação (como multi-mutação) estão disponíveis.