Azure Databases용 Data API Builder란?
데이터 API 작성기가 데이터베이스에 대해 CRUD(만들기, 읽기, 업데이트, 삭제) 작업을 수행하는 모든 사용자 지정 API를 대체합니다. DAB는 플랫폼 간 오픈 소스이며 언어, 기술 및 프레임워크와 독립적입니다. 코드 0개와 단일 구성 파일이 필요합니다. 무엇보다도 프리미엄 계층이 없는 무료이며 모든 클라우드에서 실행할 수 있습니다.
데이터 API 작성기는 개발자를 위해 설계되었습니다. 데이터 API 작성기는 플랫폼 간 CLI, 네이티브 OpenAPI, REST 엔드포인트용 Swagger 및 GraphQL 엔드포인트용 바나나 케이크 팝을 제공합니다. 상태 비 상태의 Docker 친화적인 컨테이너는 EasyAuth, Microsoft Entra Identity 또는 엔터프라이즈에서 선택하는 JWT(JSON Web Token) 서버로 보호될 수 있습니다. 유연한 정책 엔진, 세분화된 보안 컨트롤이 있으며 클레임 데이터를 SQL 세션 컨텍스트에 자동으로 전달합니다.
DAB(데이터 API 작성기)는 관계형 및 NoSQL 원본을 포함하여 여러 백 엔드 데이터 원본을 동시에 지원합니다. 또한 DAB는 Application Insights와 원활하게 통합됩니다. 구성 파일은 데이터베이스의 관계를 반영하거나 새로운 가상 관계를 정의할 수 있습니다. GraphQL 엔드포인트는 단일 트랜잭션 내에서 여러 중첩된 Create 문을 허용하는 반면 REST 엔드포인트는 메모리 내 캐싱을 특징으로 하며 OData와 유사한 쿼리 문자열 키워드를 지원합니다.
DAB는 기본적으로 Azure Static Web Apps와 통합됩니다. DAB는 Azure Container Apps, Azure Container Instances, Azure Kubernetes Services 및 컨테이너용 Azure Web Apps에서도 잘 작동합니다. DAB는 사용자 지정 온-프레미스 배포를 완벽하게 지원하면서 이러한 서비스와 함께 작동합니다.
DAB는 다음을 지원합니다.
- 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는 일반적인 코드베이스를 3분의 1로 줄이고, 단위 테스트 제품군을 제거하고, CI/CD 파이프라인을 단축하고, 일반적으로 가장 큰 개발 팀을 위해 예약된 표준 및 고급 기능을 도입할 수 있습니다. 안전하고 기능이 풍부하며 매우 간단하고 확장 가능하며 관찰 가능한 상태로 유지됩니다.
아키텍처
이 다이어그램은 데이터 API 작성기의 모든 구성 요소 간의 관계를 구분합니다.
주요 기능
- NoSQL 컬렉션 지원
- 관계형 테이블, 뷰 및 저장 프로시저 지원
- 여러 동시 데이터 원본 지원
- OAuth2/JWT를 통한 인증 지원
- EasyAuth 및 Microsoft Entra ID 지원
- 수신된 클레임을 사용한 역할 기반 권한 부여
- 정책 식을 통한 항목 수준 보안
- REST 엔드포인트
- POST, GET, PUT, PATCH, DELETE
- 필터링, 정렬 및 페이지 매김
- 메모리 내 캐시
- OpenAPI 지원
- GraphQL 엔드포인트
- 쿼리 및 변형
- 필터링, 정렬 및 페이지 매김
- 관계 탐색
- 동적 스키마
- 전용 CLI를 통한 간편한 개발
- 데이터베이스 연결을 통한 Static Web Apps 통합
- 오픈 소스 & 무료
오픈 소스
데이터 API 작성기는 오픈 소스이며 MIT 라이선스에 따라 릴리스됩니다. 리포지토리는 Azure/data-api-builder의 GitHub에서 사용할 수 있습니다.