Data API builder 2.1.5 JSON ve vector Tiplerini Taşıyor
Data API builder (DAB) 2.1.5 kararlı sürüm olarak yayımlandı. Sürümün ağırlık merkezinde SQL tarafındaki json ve vector veri tipleri var; her ikisi de artık REST ve GraphQL uç noktalarında tam destekli tipler. CRUD trafiğini zaten taşıyan varlıklar, özel kod yazmadan belge biçimli veriyi ve embedding değerlerini saklayıp dışarıya açabiliyor. Bunun yanında DAB kendi.NET uygulamanıza gömebileceğiniz bir NuGet kütüphanesi olarak da dağıtılıyor, MCP uç noktası güvenlik tarafında sıkılaştırıldı, motor da.NET 10 çalışma zamanına taşındı.
2.1.5 ile gelen başlıklar
| Özellik | Not |
|---|---|
SQL json veri tipi desteği |
Motor seviyesinde eşleme, REST CRUD, OpenAPI ve GraphQL kapsamı |
SQL vector veri tipi desteği |
REST ve GraphQL |
Microsoft.DataApiBuilder.Core NuGet paketi |
DAB motorunu kendi.NET uygulamanıza gömme |
| Çok segmentli runtime yolları | REST ve GraphQL için /api/v2 tarzı taban yollar |
| MCP uç noktası sıkılaştırması | Host/Origin izin listesi, yetkilendirme iyileştirmeleri, sağlık probu |
| Non-root container imajı | Kısıtlı ortamlar için ikili imaj yayını |
| .NET 10 çalışma zamanı | Microsoft.Data.SqlClient 6.x ve Hot Chocolate 16.6.4 ile birlikte |
JSON sütunları artık uçtan uca eşleniyor
SQL Server’ın yerel json tipi bu sürümle API katmanında tam karşılığını buldu. DAB tipi uçtan uca eşliyor; json sütunu içeren satırlar REST üzerinden oluşturulup okunabiliyor, güncellenip silinebiliyor, GraphQL üzerinden sorgulanabiliyor, üretilen OpenAPI açıklaması da tipi doğru belgeliyor.
CREATE TABLE dbo.Products (
Id INT PRIMARY KEY,
Name NVARCHAR(100) NOT NULL,
Attributes JSON
);
Tabloyu bir varlık olarak tanımladığınızda Attributes sütunu da onunla birlikte taşınıyor. Okuma tarafında JSON sütun değerleri serileştirilmiş JSON string’i olarak dönüyor; istemci değeri metin olarak saklayabilir ya da yapısal erişime ihtiyaç duyduğunda ayrıştırabilir:
GET /api/Products/Id/42
{
"value": [
{
"Id": 42,
"Name": "Trailhead Tent",
"Attributes": "{\"capacity\": 2, \"season\": \"3-season\", \"weightKg\": 1.9}"
}
]
}
Desteğin kapsamı şöyle:
jsonsütunu barındıran varlıklar için tam REST CRUD desteği.- GraphQL ve OpenAPI kapsamı: üretilen şemalar ve API açıklamaları tipi doğru yansıtıyor.
- Motor seviyesinde tip eşlemesi ve geçersiz JSON gönderildiğinde anlaşılır hata kodları.
- Yapılandırma değişikliği gerekmiyor; sütun
jsontipini kullanıyorsa mevcut varlıklar eşlemeyi kendiliğinden alıyor.
vector sütunlarıyla embedding senaryoları
Anlam temelli arama yapan uygulamalar embedding’lere dayanıyor, bu değerlerin veritabanındaki karşılığı da SQL vector tipi. 2.1.5 ile vector sütunu içeren varlıklar hem REST hem GraphQL üzerinden çalışıyor. Pratikte bir yapay zeka uygulaması ya da bir ajan, embedding verisini diğer her şey için zaten kullandığı güvenli ve varlık kapsamlı API üzerinden okuyup yazabiliyor.
CREATE TABLE dbo.Articles (
Id INT PRIMARY KEY,
Title NVARCHAR(200) NOT NULL,
Embedding VECTOR(1536)
);
query {
articles {
items {
Id
Title
Embedding
}
}
}
{
"data": {
"articles": {
"items": [
{
"Id": 1,
"Title": "DAB vector test article",
"Embedding": [0.1, 0.2, 0.3, 0.4, 0,... 0, 0, 0]
}
]
}
}
}
vector sütunları REST ve GraphQL tarafında hem okuma hem yazma işlemlerinde destekleniyor, erişim ise varlık izin modeliyle yönetiliyor; yani embedding verisi de diğer sütunlar gibi yetkilendirmeye tabi. Sürümün dahili metin embedding API’si ve Redis destekli embedding önbelleğiyle birleşince uçtan uca embedding senaryoları mümkün hale geliyor.
DAB’ı kendi uygulamanıza gömmek
DAB şimdiye kadar çalıştırdığınız bir motordu. Yeni Microsoft.DataApiBuilder.Core NuGet paketiyle artık referans verdiğiniz bir motor da olabiliyor.NET geliştiricileri DAB yeteneklerini ayrı bir süreç olarak çalıştırmak yerine kendi uygulamalarının içinde barındırabiliyor. Özel host senaryoları ve daha sıkı entegrasyonlar bu sayede mümkün.
- Motora doğrudan bir.NET uygulamasından referans verilebiliyor.
- Bugün kullandığınız yapılandırma modeli ve varlık izinleri aynı şekilde geçerli.
- Mevcut container ve CLI dağıtımlarının yerini almıyor, onları tamamlıyor.
Esnek API yolları ve MCP sıkılaştırması
REST ve GraphQL için runtime taban yolları artık birden fazla segment içerebiliyor: /api/v2 veya /data/api gibi. API sürümlemesini yol üzerinde yapan ya da DAB’ı yol tabanlı yönlendirme yapan bir gateway arkasına koyan ekiplerde yapılandırma, gerçek dağıtım biçimiyle örtüşüyor.
MCP uç noktası ise yapay zeka ajanları için üretim yüzeyi olmaya doğru ilerliyor; bu sürümde odak güvenlik duruşunu sıkılaştırmakta:
- Yapılandırılabilir bir Host/Origin izin listesi, MCP uç noktasına hangi origin’lerin ulaşabileceğini belirliyor.
describe_entitiesüzerinden varlık şeması görünürlüğü artık çağıranın rolüne ve izinlerine göre kısıtlanıyor; ajan yalnızca rolünün izin verdiğini görüyor.create_recordveupdate_recordişlemleri motorun geri kalanıyla aynı yetkilendirme yardımcısından geçiyor.- Kapsamlı sağlık uç noktasına ayrı bir MCP probu eklendi; izleme tarafı MCP’yi REST ve GraphQL ile birlikte doğrulayabiliyor.
Güvenlik ve platform tarafındaki değişiklikler
- .NET 10, Microsoft.Data.SqlClient 6.x ve Hot Chocolate 16.6.4. Motor güncel çalışma zamanı ve sürücü kuşağına taşındı, bunların performans ve güvenlik çalışmalarını da devralıyor.
- Linux ve macOS ARM64 NuGet paketleri. Platforma özel paketler artık bu ortamlardaki ARM64 senaryolarını da kapsıyor.
- Non-root container imajı. Standart imajın yanında root olmadan çalışan bir imaj varyantı yayımlanıyor; container’ların root ile çalışmasına izin vermeyen Kubernetes ve Azure Container Apps ortamları için.
- EasyAuth için üretimde daha katı doğrulama. EasyAuth sağlayıcıları beklenen Azure ortam sinyalleri olmadan yapılandırıldığında DAB üretimde başlamayı reddediyor, sessiz bir hatalı yapılandırma yerine açık bir başlangıç hatası veriyor.
- Yapılandırma uç noktası loopback ile sınırlandı.
POST /configurationartık yalnızca loopback bağlantılarını kabul ediyor. - GraphQL
orderByiçin sütun seviyesinde yetkilendirme. Sıralama artık sütun izinlerine karşı denetleniyor; kısıtlı sütunların sıralama anahtarı olarak kullanılabildiği açık kapanıyor. - İç içe GraphQL filtrelerinde özyineleme sınırı. Aşırı derin filtre ifadelerini önlemek için derinlik limiti getirildi.
- PostgreSQL iyileştirmeleri. GraphQL gruplama ve toplama, salt okunur dizi sütunları, DateTime filtreleri ve PUT ile PATCH işlemlerinde veritabanı politikası desteği.
Hata düzeltmeleri
Sürüm bir dizi doğruluk sorununu da gideriyor: veritabanı yetkilendirme politikalarındaki claim değerleri için tipli parametre bağlama, PUT ve PATCH üzerinde MySQL satır düzeyi politika işleme, GraphQL’de görünmeyen varlık açıklamaları, gruplama ve toplama sorgularında sütun eşleme, DWSQL upsert güncelleme yolunda eksik WHERE ifadesi, runtime.graphql bölümü yokken GraphQL toplama davranışı ve bir SESSION_CONTEXT sorunu. Tam liste sürüm notlarında yer alıyor.
Nereden başlamalı
DAB 2.1.5’te belgeler json sütunlarında, embedding’ler vector sütunlarında, ajanlar da MCP uç noktasında duruyor; üçü de tek bir motorun ve tek bir izin modelinin arkasında. Denemek için v2.1.5 sürümünü indirebilir ya da güncel container imajını çekebilirsiniz. VS Code tarafında ise MSSQL eklentisi, March 2026 sürümüyle tanıtılan yerleşik bir Data API builder deneyimi içeriyor. Geri bildirim için GitHub deposunda issue açmak veya tartışma başlatmak mümkün.
Kaynaklar ve İleri Okuma
- Data API builder 2.1.5: JSON and Vector Data Type Support, and More (orijinal yazı)
- Data API builder v2.1.5 sürüm notları
- Data API builder güncel container imajı (latest)
- Non-root container imajı (latest-nonroot)
- Data API builder dokümantasyonu
- VS Code MSSQL eklentisinde Data API builder deneyimi
- March 2026 MSSQL extension sürüm duyurusu
- Azure/data-api-builder GitHub deposu
- Data API Builder 2.0: REST yolunu iş yapına göre kurmak
- Data API Builder MCP ile güvenli veri analizi






Yorum gönder