Bagikan melalui


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.