Co to jest konstruktor interfejsu API danych dla usługi Azure Databases?
Konstruktor interfejsu API danych zastępuje wszystkie niestandardowe interfejsy API wykonujące operacje CRUD (tworzenie, odczyt, aktualizacja, usuwanie) względem bazy danych. Język DAB jest międzyplatformowy, open source i niezależny od języka, technologii i struktur. Wymaga to zera kodu i pojedynczego pliku konfiguracji. Co najlepsze, jest to bezpłatne, bez warstwy Premium i może działać w dowolnej chmurze.
Konstruktor interfejsu API danych jest przeznaczony dla deweloperów. Konstruktor interfejsu API danych oferuje międzyplatformowy interfejs wiersza polecenia, natywny interfejs OpenAPI, program Swagger dla punktów końcowych REST i narzędzie Banana Cake Pop dla punktów końcowych GraphQL. Kontener przyjazny dla platformy Docker bezstanowy można zabezpieczyć za pomocą rozwiązania EasyAuth, tożsamości Microsoft Entra Identity lub dowolnego serwera tokenu internetowego JSON (JWT) wybranego przez przedsiębiorstwo. Ma elastyczny aparat zasad, szczegółowe mechanizmy kontroli zabezpieczeń i automatycznie przekazuje dane oświadczeń do kontekstu sesji SQL.
Konstruktor interfejsu API danych (DAB) obsługuje jednocześnie wiele źródeł danych zaplecza, w tym źródeł relacyjnych i NoSQL. DaB integruje się również bezproblemowo z usługą Application Insights. Plik konfiguracji może odzwierciedlać relacje w bazie danych lub definiować nowe, wirtualne. Punkty końcowe GraphQL umożliwiają korzystanie z wielu zagnieżdżonych instrukcji Create w ramach jednej transakcji, natomiast punkty końcowe REST obsługują buforowanie w pamięci i obsługują słowa kluczowe ciągu zapytania przypominające dane OData.
Język DAB natywnie integruje się z usługą Azure Static Web Apps. Język DAB doskonale współpracuje również z usługami Azure Container Apps, Azure Container Instances, Azure Kubernetes Services i Azure Web Apps for Containers. DaB współpracuje z tymi usługami, jednocześnie w pełni obsługując niestandardowe wdrożenia lokalne.
Język DAB obsługuje:
- SQL Server
- Azure SQL
- Azure Cosmos DB for NoSQL
- PostgreSQL
- Azure Database for PostgreSQL
- Azure Cosmos DB for PostgreSQL
- MySQL
- Azure Database for MySQL
- Azure SQL Data Warehouse
DaB może zmniejszyć typową bazę kodu o jedną trzecią, wyeliminować zestawy testów jednostkowych, skrócić potoki ciągłej integracji/ciągłego wdrażania oraz wprowadzić standardy i zaawansowane możliwości zwykle zarezerwowane dla największych zespołów programistycznych. Jest ona bezpieczna i bogata w funkcje, a jednocześnie pozostaje niezwykle prosta, skalowalna i obserwowalna.
Architektura
Ten diagram dzieli relację między wszystkimi składnikami konstruktora interfejsu API danych.
Najważniejsze funkcje
- Obsługa kolekcji NoSQL
- Obsługa tabel, widoków i procedur składowanych
- Obsługa wielu jednoczesnych źródeł danych
- Obsługa uwierzytelniania za pośrednictwem protokołu OAuth2/JWT
- Obsługa usług EasyAuth i Microsoft Entra Identity
- Autoryzacja oparta na rolach przy użyciu odebranych oświadczeń
- Zabezpieczenia na poziomie elementu za pośrednictwem wyrażeń zasad
- Punkty końcowe REST
- POST, GET, PUT, PATCH, DELETE
- Filtrowanie, sortowanie i stronicowanie
- Pamięć podręczna w pamięci
- Obsługa interfejsu OpenAPI
- Punkty końcowe GraphQL
- Zapytania i mutacje
- Filtrowanie, sortowanie i stronicowanie
- Nawigacja po relacji
- Schematy dynamiczne
- Łatwe programowanie za pomocą dedykowanego interfejsu wiersza polecenia
- Integracja dla usługi Static Web Apps za pośrednictwem połączenia z bazą danych
- Bezpłatne & open source
Technologia open source
Konstruktor interfejsu API danych jest oprogramowaniem open source i wydanym w ramach licencji MIT. Repozytorium jest dostępne w usłudze GitHub w witrynie azure/data-api-builder.
Zawartość pokrewna
- Instalowanie interfejsu wiersza polecenia konstruktora interfejsu API danych
- Przykładowa aplikacja zadań do wykonania przy użyciu konstruktora interfejsu API danych, usługi Azure Static Web Apps i usługi Azure SQL
- Przykład aplikacji biblioteki z narzędziami Data API Builder, Azure Static Web Apps i Azure SQL