DAB(Data API Builder) 버전 1.1의 업데이트 및 개선 사항에 대한 릴리스 정보 및 정보입니다.
중요합니다
이 릴리스는 DAB(Data API Builder)의 첫 번째 GA(일반 공급) 릴리스입니다.
GitHub 릴리스 정보
모든 변경 내용 및 개선 사항의 포괄적인 목록은 다음 릴리스 페이지를 검토하세요.
| 링크 | |
|---|---|
| 2024-05-14 - 버전 1.1.7 | https://github.com/azure/data-api-builder/releases/tag/v1.1.7 |
.NET 8 지원
이제 DAB는 다중 대상 지정을 사용하여 .NET 6 및 .NET 8 LTS(장기 지원) 버전을 모두 지원합니다.
자세한 내용은 azure/data-api-builder - .NET 다중 프레임워크 대상 지정을 참조하세요.
GraphQL 다중 돌연변이 지원
이제 DAB는 여러 변형 작업을 단일 GraphQL 트랜잭션으로 결합하는 것을 지원합니다. 현재 지원은 create 작업에만 국한됩니다.
예를 들어 Book 및 Chapter와 같이 관련된 엔터티가 있다고 가정합니다. 여러 변형을 사용하여 기본 책 엔터티 및 모든 관련 장 엔터티를 단일 작업으로 만들 수 있습니다.
mutation {
createBook(
item: {
title: "Data API builder deep-dive"
chapters: [
{ name: "Multiple mutations" }
{ name: "Relationships" }
]
}
) {
title
chapters {
items {
name
}
}
}
}
이 기능은 다중 돌연변이 가이드에 자세히 설명되어 있습니다.
자세한 내용은 azure/data-api-builder - GraphQL의 여러 변형을 참조하세요.
페이지 기능 개선
이제 DAB에는 paginationOptions 기본 제공 페이지 매김 지원의 다양한 특성을 조정하는 구성 속성이 있습니다. 하위 속성은 다음과 같습니다.
| 기본값 | 설명 | |
|---|---|---|
default-page-size |
100 | 페이지 크기를 지정하지 않고 요청이 이루어지는 경우 페이지 크기입니다. |
max-page-size |
100,000 | 페이지 크기는 요청이 페이지 크기로 -1 지정된 경우입니다. |
자세한 내용은 azure/data-api-builder - 페이지 매김 제한 추가를 참조하세요.
건강 상태
이전 버전의 DAB에서 API는 루트() 엔드포인트의 healthy 문자열 / 메시지를 반환합니다. 이제 도구는 상태, 버전 및 DAB가 호스트되는지 또는 OSS(오픈 소스 소프트웨어) 버전을 나타내는 애플리케이션 이름을 포함하는 JSON 개체를 반환합니다.
예를 들어 OSS 컨테이너 이미지 버전은 0.12.0 기본적으로 다음 상태 메시지를 반환합니다.
{
"status": "Healthy",
"version": "0.12.0",
"app-name": "dab_oss_0.12.0"
}
자세한 내용은 azure/data-api-builder - 향상된 상태 엔드포인트 메타데이터를 참조하세요.
REST 다중 데이터베이스 지원
REST API에서 이제 여러 데이터베이스(또는 데이터 원본)가 지원됩니다. 데이터베이스 이름은 각 엔터티에 따라 결정됩니다.
자세한 내용은 azure/data-api-builder - REST의 여러 데이터베이스 지원을 참조하세요.
NoSQL용 Azure Cosmos DB 향상된 기능
DAB의 기존 Azure Cosmos DB for NoSQL 지원에 대한 몇 가지 향상된 기능이 있었습니다.
패치 작업 지원
이제 patch<entity-name> 변경 작업을 사용하여 Azure Cosmos DB 패치 작업이 지원됩니다.
예를 들어 다양한 작성자 항목이 분할된 작은 컨테이너가 publisher있다고 가정합니다. 이제 컨테이너에 이 항목과 스키마가 있다고 가정합니다.
{
"id": "04511cbc-459d-4e39-b957-363f26771fc0",
"firstName": "Jacob",
"lastName": "Hancock",
"publisher": "Contoso Books"
}
type Author @model {
id: ID!
firstName: String!
middleName: String
lastName: String!
publisher: String!
}
GraphQL을 사용하여 패치하려면 고유 식별자와 파티션 키를 모두 지정하는 변형을 사용합니다 patchAuthor .
mutation {
patchAuthor(
item: {
middleName: "A."
}
id: "04511cbc-459d-4e39-b957-363f26771fc0"
_partitionKeyValue: "Contoso Books"
) {
middleName
}
}
자세한 내용은 azure/data-api-builder - Patch 지원을 참조하세요.
항목 수준 보안
이제 NoSQL용 Azure Cosmos DB에서 항목 수준 보안(데이터베이스 정책)이 지원됩니다. 데이터베이스 정책 식은 현재 역할에서 액세스할 수 있는 항목을 결정하기 위해 평가됩니다.
예를 들어, 이 역할 정의는 scoped-reader라는 새로운 역할을 정의하는데, 이는 ID 공급자의 ownerId 객체에서 기존 UserId와 동일한 @claims 항목만 읽을 수 있습니다.
{
"<entity-name>": {
"permissions": [
{
"role": "scoped-reader",
"actions": [
{
"action": "read",
"policy": {
"database": "@item.ownerId eq @claims.UserId"
}
}
]
}
]
}
}
자세한 내용은 데이터베이스 정책을 사용하여 azure/data-api-builder - 항목 수준 인증 지원을 참조하세요.
메모리 내 캐시 지원
Azure Cosmos DB의 메모리 내 캐시를 사용하도록 기존 Azure Cosmos DB for NoSQL 쿼리 엔진을 업데이트합니다.
자세한 내용은 azure/data-api-builder - 메모리 내 캐시 지원을 참조하세요.
PostgreSQL 향상된 기능
DAB의 기존 PostgreSQL 지원이 향상되었습니다.
연결 문자열에 애플리케이션 이름 연결
이제 DAB는 PostgreSQL 연결 문자열을 DAB 애플리케이션 이름으로 보완합니다. 이 도구는 연결 문자열에 애플리케이션 이름이 이미 있는지 확인하고 다음 중 하나를 확인합니다.
- 새로운 DAB 애플리케이션 이름을 추가합니다. 이름이 없는 경우
- 구분 기호를 사용하여 기존 애플리케이션 이름 뒤의 DAB 애플리케이션 이름을
,추가합니다.
자세한 내용은 azure/data-api-builder - PostgreSQL 연결에 대한 애플리케이션 이름 추가를 참조하세요.