Sdílet prostřednictvím


Co je Tvůrce rozhraní API pro data pro Azure Databases?

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.

Obrázek maskótu tvůrce rozhraní Data API, který má stavební klobouk

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í.

Diagram podpory koncových bodů v Tvůrci rozhraní Data API

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.

Diagram podporovaných databází pro tvůrce rozhraní Data API

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.

Diagram možností ověřování pro tvůrce rozhraní DATA API

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.

Diagram architektury tvůrce rozhraní Data API

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í

Diagram možností hostování kontejnerů pro tvůrce rozhraní Data API

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.