Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tvůrce rozhraní DATA API (DAB) je opensourcový modul založený na konfiguraci, který vytváří rozhraní REST a GraphQL API pro podporované databáze, jako jsou SQL Server, Azure Cosmos DB, PostgreSQL a MySQL. DAB běží v libovolném cloudu nebo v místním prostředí a dá se používat zdarma. Nakonfigurujete ho pomocí jednoho souboru JSON, takže můžete zveřejnit databázové objekty bez zápisu vlastního rozhraní API.
Tvůrce rozhraní DATA API nahrazuje většinu vlastních rozhraní API pro data, která provádějí obecné operace CRUD (vytvoření, čtení, aktualizace, odstranění) v databázi. DAB je nezávislý na jazyce, technologii a rozhraní. Nevyžaduje žádný kód aplikace a jeden konfigurační soubor. Nejlepší z toho je, že je skutečně zdarma, bez úrovně Premium a běží bezstavově kdekoli.
Podpora koncových bodů
Služba Data API podporuje koncové body REST i GraphQL zároveň. S verzí 1.7 a novější jazyk DAB podporuje také protokol MCP (Model Context Protocol) pro aplikace agentů se stejnou bohatou funkčností.
DAB zahrnuje multiplatformní rozhraní příkazového řádku, OpenTelemetry a kontroly stavu. Podporuje také OpenAPI a Swagger pro koncové body REST a Nitro (dříve označované jako Banana Cake Pop) pro koncové body GraphQL.
Návod
Standardní funkce koncového bodu:
- Stránkování dat
- Filtrování dat
- Řazení dat
- Výběr sloupce
- Uložené procedury
- Navigace v relaci
Podpora databáze
Tvůrce rozhraní DATA API (DAB) podporuje více back-endových zdrojů dat současně, včetně relačních a noSQL zdrojů. Mezi podporované databáze patří SQL Server a Azure SQL, Azure Cosmos DB, PostgreSQL a MySQL. Podrobnosti a omezení databází najdete v tématu Funkce specifické pro databázi.
Tvůrce rozhraní DATA API se může současně připojit k více zdrojům dat. Relační zdroje můžete kombinovat s json nebo dokumentovými databázemi a kombinovat cloudové a místní databáze. Tato flexibilita umožňuje DAB podporovat vše od jednoduchých nastavení až po komplexní topologie nasazení.
Zabezpečení
Bezstavový kontejner Dockeru pro tvůrce rozhraní Data API je možné zabezpečit pomocí Azure App Service EasyAuth, Microsoft Entra ID nebo libovolného serveru JWT (JSON Web Token). Má flexibilní modul zásad, jemně odstupňované bezpečnostní ovládací prvky a automaticky předává data o nárocích do kontextu relace SQL.
Tvůrce rozhraní Data API podporuje více zprostředkovatelů ověřování:
| Provider | Případ použití |
|---|---|
| Microsoft Entra ID | Produkční aplikace využívající identitu Microsoftu |
| Vlastní JWT | Zprostředkovatelé identity třetích stran (Okta, Auth0, Keycloak) |
| App Service | Aplikace běžící za službou Azure App Service EasyAuth |
| Simulátor | Místní vývoj a testování |
Podrobné pokyny ke konfiguraci najdete v tématu Přehled zabezpečení.
Architektura
Tento diagram rozdělí vztah mezi všemi komponentami tvůrce rozhraní Data API. Začíná schématem databáze, které definuje tabulky, zobrazení a uložené procedury. Konfigurační soubor DAB tyto objekty projektuje do abstraktní vrstvy. V této vrstvě pojmenujete entity, vyberete pole aliasů, definujete relace a použijete oprávnění. Tvůrce rozhraní Data API za běhu přečte tuto konfiguraci, aby vygeneroval konzistentní plochu rozhraní API a vystavil stejný model entit prostřednictvím koncových bodů REST a GraphQL. Toto oddělení umožňuje nezávisle vyvíjet databázi a přitom udržovat stabilní a zabezpečený kontrakt pro aplikace a klienty.
Tvůrce rozhraní Data API nakonfigurujete s jedním souborem JSON. V souboru definujete:
- Jak se server připojuje ke zdrojům dat
- Které tabulky, zobrazení a uložené procedury jsou vystavené
- Jak jsou entity utvářeny, pojmenovány a vzájemně propojené
- Které role mají povolený přístup k jednotlivým operacím
Možnosti nasazení
DAB funguje skvěle s Azure Container Apps, Azure Container Instances, Azure Kubernetes Service a Azure Web Apps for Containers. DAB spolupracuje s těmito službami a plně podporuje vlastní místní nasazení.
Integrace a možnosti
DAB se také bezproblémově integruje s Application Insights. Konfigurační soubor může odrážet relace v databázi nebo definovat nové virtuální vztahy s podporou dynamického načítání. Koncové body GraphQL umožňují více vnořených příkazů Create v rámci jedné transakce, zatímco koncové body REST obsahují ukládání do mezipaměti a bohatou podporu klíčových slov řetězce dotazu typu OData.
Méně kódu, více funkcí
DAB může pomoct omezit vlastní kód rozhraní API, zkrátit kanály CI/CD a zavést standardy a pokročilé funkce, které jsou obvykle vyhrazené pro největší vývojové týmy. Je zabezpečená a plně vybavená funkcemi, ale zůstává neuvěřitelně jednoduchá, škálovatelná a pozorovatelná.
Otevřený zdrojový kód
Data API Builder je open-source a vydán pod licencí MIT. Úložiště je k dispozici na GitHubu na azure/data-api-builderu.