1---2name: azure-data-api-builder3description: Expert knowledge for Azure Data Api Builder development including troubleshooting, best practices, decision making, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when exposing DB objects via REST/GraphQL, tuning paging/timeouts, securing auth/RLS, or deploying DAB to Azure, and other Azure Data Api Builder related development tasks. Not for Azure API Management (use azure-api-management), Azure App Service (use azure-app-service), Azure Functions (use azure-functions), Azure Logic Apps (use azure-logic-apps).4---5# Azure Data Api Builder Skill
6
7This skill provides expert guidance for Azure Data Api Builder. Covers troubleshooting, best practices, decision making, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.
8
9## How to Use This Skill
10
11> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file
12
13> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)
14
15This skill requires **network access** to fetch documentation content:
16- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.
17- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.
18
19## Category Index
20
21| Category | Lines | Description |
22|----------|-------|-------------|
23| Troubleshooting | L36-L48 | Diagnosing and fixing DAB issues: config/CLI errors, REST/CORS problems, GraphQL schema/auth, and database-specific troubles for Cosmos DB, SQL (incl. MCP), MySQL, and PostgreSQL. |
24| Best Practices | L49-L55 | Guidance on secure, reliable Data API builder configs, adding semantic metadata to SQL MCP entities, and safely using SQL MCP Server with local LLMs. |
25| Decision Making | L56-L61 | Comparing Data API builder capabilities across databases/API types and choosing secure Microsoft SQL authentication/authorization patterns for your setup. |
26| Limits & Quotas | L62-L69 | Configuring SQL timeouts, setting and tuning REST/GraphQL page size limits, and understanding database-specific constraints and feature requirements in Data API builder. |
27| Security | L70-L90 | Configuring authentication, authorization, and row-level security for Data API builder, including Entra ID, JWT, EasyAuth, managed identity, simulator, and SQL auth, plus security best practices. |
28| Configuration | L91-L133 | Configuring Data API builder: CLI setup, JSON schema, entities, data sources, security, caching, telemetry, logging, health checks, OpenAPI, and exposing DB objects via REST/GraphQL. |
29| Integrations & Coding Patterns | L134-L149 | GraphQL/REST query patterns in DAB: filtering, sorting, pagination, field projection, exporting schemas, batching mutations, and using SQL MCP tools from AI agents. |
30| Deployment | L150-L158 | How to build and run Data API builder from source or Docker, and deploy it to Azure (App Service, Cosmos DB, air‑gapped/local SQL) with configuration and environment-specific guidance. |
31
32### Troubleshooting
33| Topic | URL |
34|-------|-----|
35| Validate DAB configuration and interpret CLI exit codes | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-validate |
36| Resolve common issues in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/faq |
37| Troubleshoot Azure Cosmos DB issues in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/cosmos |
38| Troubleshoot GraphQL schema and authorization in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/graphql |
39| Troubleshoot SQL MCP Server issues in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/mcp |
40| Troubleshoot SQL Server issues in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/mssql |
41| Troubleshoot MySQL issues in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/mysql |
42| Troubleshoot PostgreSQL issues in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/postgresql |
43| Troubleshoot REST endpoint and CORS issues in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/troubleshooting/rest |
44
45### Best Practices
46| Topic | URL |
47|-------|-----|
48| Apply configuration best practices in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/config/best-practices |
49| Add semantic descriptions to SQL MCP Server entities | https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/how-to-add-descriptions |
50| Use SQL MCP Server with local LLMs securely and reliably | https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/use-local-models |
51
52### Decision Making
53| Topic | URL |
54|-------|-----|
55| Compare Data API builder features by database and API | https://learn.microsoft.com/en-us/azure/data-api-builder/feature-availability |
56| Choose Microsoft SQL security patterns for Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/microsoft-sql-security |
57
58### Limits & Quotas
59| Topic | URL |
60|-------|-----|
61| Configure SQL command timeout for Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/database/timeout |
62| Limit GraphQL page size with first in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/first-graphql |
63| Control REST page size with $first in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/first-rest |
64| Database-specific feature requirements for Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/reference-database-specific-features |
65
66### Security
67| Topic | URL |
68|-------|-----|
69| Select and configure authentication models in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/ |
70| Configure custom JWT authentication for Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/authenticate-custom |
71| Use Azure App Service EasyAuth with Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/authenticate-easy-auth |
72| Configure Microsoft Entra ID auth for Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/authenticate-entra |
73| Configure On-Behalf-Of authentication for DAB SQL access | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/authenticate-on-behalf-of |
74| Use Simulator authentication for local DAB testing | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/authenticate-simulator |
75| Configure Unauthenticated provider in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/authenticate-unauthenticated |
76| Apply security best practices in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/best-practices |
77| Configure database policies for row-level filtering in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/database-policies |
78| Implement SQL row-level security with DAB session context | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/row-level-security |
79| Configure authentication for SQL MCP Server and database | https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/how-to-configure-authentication |
80| Use managed identity for Data API builder to Azure SQL | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/authentication-managed-identity |
81| Add Microsoft Entra authentication provider to Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/authentication-microsoft-entra-provider |
82| Configure on-behalf-of authentication from Data API builder to Azure SQL | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/authentication-on-behalf-of |
83| Configure SQL authentication for Data API builder endpoints | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/authentication-sql-credentials |
84| Secure Data API builder with Entra ID and DAB policies | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/authorization-database-policies |
85| Apply SQL row-level security with Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/authorization-sql-row-level-security |
86
87### Configuration
88| Topic | URL |
89|-------|-----|
90| Use DAB CLI commands to manage configuration and runtime | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/ |
91| Configure DAB telemetry with OpenTelemetry and App Insights | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-add-telemetry |
92| Create and manage autoentities via dab auto-config | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-auto-config |
93| Simulate autoentities matches with dab auto-config-simulate | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-auto-config-simulate |
94| Configure DAB runtime and data source settings | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-configure |
95| Initialize Data API builder config with DAB CLI | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-init |
96| Update Data API builder entity configuration via CLI | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-update |
97| Control Data API builder caching via HTTP headers | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/cache/http-headers |
98| Configure Redis-based level 2 cache in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/cache/level-2 |
99| Use @akv function with Azure Key Vault in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/config/akv-function |
100| Use auto configuration patterns in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/config/auto-config |
101| Use @env function for DAB configuration secrets | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/config/env-function |
102| Manage DAB configuration by environment variants | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/config/environments |
103| Configure multiple data sources for hybrid DAB endpoints | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/config/multi-config |
104| Configure Azure Cosmos DB for NoSQL with DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/database/set-up-cosmosdb |
105| Configure GraphQL entity relationships in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/graphql/relationships |
106| Expose stored procedures as GraphQL operations in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/graphql/stored-procedures |
107| Expose database views as GraphQL types in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/graphql/views |
108| Configure Azure Application Insights for DAB monitoring | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/monitor/application-insights |
109| Configure health checks and /health endpoint in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/monitor/health-checks |
110| Configure Azure Log Analytics for DAB logging | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/monitor/log-analytics |
111| Configure Data API builder logging levels and filters | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/monitor/log-levels |
112| Set up OpenTelemetry tracing and metrics in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/monitor/open-telemetry |
113| Configure If-Match header for DAB upserts | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/rest/http-if-match |
114| Understand Location header behavior in DAB REST | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/rest/http-location |
115| Configure OpenAPI and Swagger UI for DAB REST | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/rest/openapi |
116| Expose stored procedures as REST endpoints in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/rest/stored-procedures |
117| Expose database views as REST endpoints in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/rest/views |
118| Configure role inheritance in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/security/role-inheritance |
119| Configure full Data API builder JSON schema | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/ |
120| Configure full Data API builder JSON schema | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/ |
121| Configure Data API builder autoentities rules | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/autoentities |
122| Configure Data API builder data-source section for databases | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/data-source |
123| Configure Data API builder entities section schema | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/entities |
124| Configure Data API builder entity definitions | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/entities |
125| Configure runtime section of Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/runtime |
126| Configure Data API builder runtime behavior | https://learn.microsoft.com/en-us/azure/data-api-builder/configuration/runtime |
127| Configure custom MCP tools for stored procedures in SQL MCP Server | https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/how-to-configure-custom-tools |
128| Run SQL MCP Server in stdio transport mode | https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/stdio-transport |
129
130### Integrations & Coding Patterns
131| Topic | URL |
132|-------|-----|
133| Export GraphQL schemas using DAB CLI | https://learn.microsoft.com/en-us/azure/data-api-builder/command-line/dab-export |
134| Query aggregate data via GraphQL in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/graphql/aggregate-data |
135| Execute multiple GraphQL mutations in Data API builder | https://learn.microsoft.com/en-us/azure/data-api-builder/concept/graphql/multiple-mutations |
136| Use after cursors for GraphQL pagination in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/after-graphql |
137| Implement cursor pagination with $after in DAB REST | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/after-rest |
138| Filter GraphQL queries with DAB-specific operators | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/filter-graphql |
139| Filter REST queries with $filter in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/filter-rest |
140| Sort GraphQL results with orderBy in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/orderby-graphql |
141| Sort REST results with $orderby in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/orderby-rest |
142| Shape GraphQL selections and internal columns in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/select-graphql |
143| Use $select to project REST fields in DAB | https://learn.microsoft.com/en-us/azure/data-api-builder/keywords/select-rest |
144| Use SQL MCP Server DML tools from AI agents | https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/data-manipulation-language-tools |
145
146### Deployment
147| Topic | URL |
148|-------|-----|
149| Choose Data API builder deployment option in Azure | https://learn.microsoft.com/en-us/azure/data-api-builder/deployment/ |
150| Deploy Data API builder in air-gapped environments | https://learn.microsoft.com/en-us/azure/data-api-builder/deployment/air-gapped |
151| Deploy Data API builder to Azure App Service | https://learn.microsoft.com/en-us/azure/data-api-builder/deployment/azure-app-service |
152| Build and run Data API builder from source | https://learn.microsoft.com/en-us/azure/data-api-builder/deployment/run-from-source |
153| Deploy Data API builder with Azure Cosmos DB NoSQL | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/basic-nosql |
154| Deploy Data API builder with local SQL via Docker | https://learn.microsoft.com/en-us/azure/data-api-builder/quickstart/basic-sql |