Apa yang baru dalam penyusun Api Data versi 1.1
Catatan rilis dan informasi tentang pembaruan dan penyempurnaan di Penyusun API Data (DAB) versi 1.1.
Penting
Ini adalah rilis ketersediaan umum (GA) pertama pada penyusun API Data (DAB).
Catatan rilis GitHub
Tinjau halaman rilis ini untuk daftar komprehensif semua perubahan dan peningkatan:
Tautan | |
---|---|
2024-05-14 - Versi 1.1.7 | https://github.com/azure/data-api-builder/releases/tag/v1.1.7 |
Dukungan .NET 8
DAB sekarang menggunakan multi-penargetan untuk mendukung versi dukungan jangka panjang (LTS) .NET 6 dan .NET 8.
Untuk informasi selengkapnya, lihat azure/data-api-builder - Penargetan multi-kerangka kerja .NET.
Dukungan beberapa mutasi GraphQL
DAB sekarang mendukung menggabungkan beberapa operasi mutasi bersama-sama ke dalam satu transaksi GraphQL. Dukungan saat ini hanya dilingkup ke create
operasi.
Misalnya, asumsikan kita memiliki Book
entitas dan Chapter
yang terkait. Dengan beberapa mutasi, Anda dapat membuat entitas buku utama dan semua entitas bab terkait sebagai satu operasi.
mutation {
createBook(
item: {
title: "Data API builder deep-dive"
chapters: [
{ name: "Multiple mutations" }
{ name: "Relationships" }
]
}
) {
title
chapters {
items {
name
}
}
}
}
Fitur ini didokumenkan secara mendalam dalam panduan Beberapa mutasi kami.
Untuk informasi selengkapnya, lihat azure/data-api-builder - Beberapa mutasi di GraphQL.
Penyempurnaan penomoran halaman
DAB sekarang memiliki paginationOptions
properti konfigurasi untuk menyesuaikan berbagai karakteristik dukungan penomoran halaman bawaan. Subproperti meliputi:
Nilai default | Deskripsi | |
---|---|---|
default-page-size |
100 | Ukuran halaman jika permintaan dibuat tanpa ukuran halaman yang ditentukan. |
max-page-size |
100.000 | Ukuran halaman jika permintaan dibuat dengan -1 ditentukan untuk ukuran halaman. |
Untuk informasi selengkapnya, lihat azure/data-api-builder - Menambahkan batas penomoran halaman.
Status kesehatan
Dalam versi DAB yang lebih lama, API akan mengembalikan pesan status string di healthy
titik akhir root (/
). Sekarang, alat ini mengembalikan objek JSON yang berisi status, versi, dan nama aplikasi yang menunjukkan apakah DAB dihosting atau versi perangkat lunak sumber terbuka (OSS).
Misalnya, versi 0.12.0
gambar kontainer OSS akan mengembalikan pesan status ini secara default:
{
"status": "Healthy",
"version": "0.12.0",
"app-name": "dab_oss_0.12.0"
}
Untuk informasi selengkapnya, lihat azure/data-api-builder - Metadata titik akhir kesehatan yang ditingkatkan.
Dukungan rest Multiple database
Di REST API, beberapa database (atau sumber data) sekarang didukung. Nama database ditentukan berdasarkan setiap entitas.
Untuk informasi selengkapnya, lihat azure/data-api-builder - Beberapa dukungan database di REST.
Azure Cosmos DB untuk penyempurnaan NoSQL
Ada beberapa penyempurnaan pada Dukungan Azure Cosmos DB untuk NoSQL yang ada di DAB.
Dukungan operasi patch
Operasi patch Azure Cosmos DB sekarang didukung menggunakan patch<entity-name>
mutasi.
Misalnya, asumsikan bahwa ada kontainer kecil dengan berbagai item penulis yang dipartisi oleh publisher
. Sekarang asumsikan bahwa kontainer memiliki item dan skema ini:
{
"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!
}
Untuk melakukan patch menggunakan GraphQL, gunakan patchAuthor
mutasi yang menentukan pengidentifikasi unik dan kunci partisi:
mutation {
patchAuthor(
item: {
middleName: "A."
}
id: "04511cbc-459d-4e39-b957-363f26771fc0"
_partitionKeyValue: "Contoso Books"
) {
middleName
}
}
Untuk informasi selengkapnya, lihat azure/data-api-builder - Dukungan patch.
Keamanan tingkat item
Keamanan tingkat item (kebijakan database) sekarang didukung dengan Azure Cosmos DB untuk NoSQL. Ekspresi kebijakan database dievaluasi untuk menentukan item apa yang dapat diakses peran saat ini.
Misalnya, definisi peran ini akan menentukan peran baru bernama scoped-reader
yang hanya dapat membaca item di mana ownerId
setara dengan yang ada UserId
dari objek penyedia @claims
identitas.
{
"<entity-name>": {
"permissions": [
{
"role": "scoped-reader",
"actions": [
{
"action": "read",
"policy": {
"database": "@item.ownerId eq @claims.UserId"
}
}
]
}
]
}
}
Untuk informasi selengkapnya, lihat azure/data-api-builder - Dukungan autentikasi tingkat item menggunakan kebijakan database.
Dukungan cache dalam memori
Updates mesin kueri Azure Cosmos DB for NoSQL yang ada untuk menggunakan cache dalam memori Azure Cosmos DB.
Untuk informasi selengkapnya, lihat azure/data-api-builder - Dukungan cache dalam memori.
Penyempurnaan PostgreSQL
Ada peningkatan pada dukungan PostgreSQL yang ada di DAB.
Menggabungkan nama aplikasi ke string koneksi
DAB sekarang melengkapi string koneksi PostgreSQL dengan nama aplikasi DAB. Alat ini memeriksa untuk melihat apakah nama aplikasi sudah ada di string koneksi, dan:
- Menambahkan nama aplikasi DAB baru jika tidak ada atau
- Menambahkan nama aplikasi DAB setelah nama aplikasi yang ada dengan pemisah
,
.
Untuk informasi selengkapnya, lihat azure/data-api-builder - Menambahkan nama aplikasi untuk koneksi PostgreSQL.