Aracılığıyla paylaş


Veri API'sini oluşturucu (önizleme)

Visual Studio Code için MSSQL uzantısı, Yapılandırma dosyaları yazmadan veya Visual Studio Code'dan çıkmadan SQL veritabanı tablolarınız için REST, GraphQL ve MCP uç noktaları oluşturabilmeniz için Veri API oluşturucusu için tümleşik bir kullanıcı arabirimi içerir. Hangi tabloların kullanıma verileceğini seçebilir, CRUD izinlerini yapılandırabilir, API türlerini seçebilir, oluşturulan yapılandırmayı önizleyebilir ve tümü görsel bir arabirimden Data API builder tarafından desteklenen yerel bir arka uç dağıtabilirsiniz.

Visual Studio Code'da varlık listesi ve CRUD onay kutularını içeren Veri API'si oluşturucu kullanıcı arabiriminin ekran görüntüsü.

Tavsiye

Veri API'si oluşturucusu şu anda önizleme aşamasındadır ve geri bildirimlere göre değişebilir. Fikirlerinizi paylaşmak veya sorunları bildirmek için GitHub Tartışmaları'nda topluluğa katılın.

Önemli

Bu özellik, kapsayıcı dağıtımı için yalnızca SQL kimlik doğrulaması desteği ve kısıtlanmış veri türü uyumluluğu dahil olmak üzere bilinen sınırlamalara sahiptir. Dağıtmadan önce Bilinen sınırlamalar ve Bilinen sorunlar'ı gözden geçirin.

Features

Veri API'si oluşturucu tümleştirmesi şu özellikleri sunar:

  • Daraltılabilir gruplandırma ile şemaya göre düzenlenmiş API uç noktaları olarak kullanıma açmak için veritabanı varlıklarını (tabloları) seçin.
  • Her varlık için Oluşturma, Okuma, Güncelleştirme ve Silme (CRUD) izinlerini bağımsız olarak yapılandırın.
  • Oluşturmak için API türlerini seçin: REST, GraphQL, MCP veya herhangi bir bileşim.
  • Özel REST yolları, özel GraphQL tür adları ve yetkilendirme rolleri dahil olmak üzere gelişmiş varlık ayarlarını yapılandırın.
  • Oluşturulan Veri API'sini oluşturucu JSON yapılandırmasının önizlemesini salt okunur bir Tanım panelinde görüntüleyin.
  • Otomatik önkoşul denetimleriyle Veri API'si oluşturucusunu yerel olarak Docker kapsayıcısı olarak dağıtın.
  • Yerleşik Simple Browser kullanarak API'leri doğrudan Visual Studio Code'da çalıştırmayı test edin.
  • Varlıkları doğal dil istemleriyle yapılandırmak için GitHub Copilot sohbetini kullanın.

Önkoşullar

Veri API oluşturucusu'nu kullanmadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

Açık Veri API oluşturucu

Veri API oluşturucusu yapılandırma görünümünü iki giriş noktasından açabilirsiniz:

  • Nesne Gezgini'nden: Bir veritabanı düğümüne sağ tıklayın ve Veri API'sini Derle (Önizleme)... öğesini seçin.

    Visual Studio Code'da varlık listesi ve CRUD onay kutularının yer aldığı Veri API oluşturucusu yapılandırma görünümünün ekran görüntüsü.

  • Şema Tasarımcısı'ndan: Tasarım API'sini (araç çubuğunun sağ üst köşesindeki düğme) seçin veya sol taraftaki panelde Arka uç simgesini seçin.

    Şema Tasarımcısı araç çubuğundaki Tasarım API'si düğmesinin ve Arka uç simgesinin ekran görüntüsü.

Veritabanı varlıklarınızı, API türü seçeneklerinizi ve yapılandırma denetimlerinizi görüntüleyen Veri API oluşturucusu yapılandırma görünümü açılır.

Varlıkları seç

Varlık seçimi görünümü, bağlı veritabanınızdaki tüm tabloları şemaya göre gruplandırılmış olarak listeler.

  • Her şema satırı daraltılabilir ve kaç varlığın etkinleştirildiğini gösteren bir sayı rozeti gösterir (örneğin, "3/5").
  • Şemadaki tüm varlıkları değiştirmek için şema düzeyi onay kutusunu seçin. Onay kutusu üç farklı durum seçimini destekler: tümü, hiçbiri veya karışık.
  • Her varlık satırı şunları görüntüler: etkinleştir onay kutusu, varlık adı, kaynak tablo, CRUD onay kutuları ve ayarlar düğmesi.
  • Bir varlığın devre dışı bırakılması, satırı gri gösterir ve CRUD onay kutularını ve ayarlar düğmesini devre dışı bırakır.

Varlıkları ada, şemaya veya kaynak tabloya göre aramak için üstteki filtre kutusunu kullanın. Filtre büyük/küçük harfe duyarlı değildir ve etkinleştirilen sayım, filtrelenen sonuçlara göre güncelleştirilir.

Varlık listesine filtre uygulanmış bir arama teriminin yer aldığı varlık filtre kutusunun ekran görüntüsü.

İzinleri ve API türlerini yapılandırma

CRUD izinleri

Her varlık için ayrı ayrı Oluştur, Oku, Güncelleştir ve Sil onay kutularını değiştirin. Başlık düzeyi CRUD seçim kutuları, etkinleştirilen tüm varlıklar için bu işlemi değiştirir ve üç durumlu seçimi destekler.

API türü seçimi

Yapılandırma görünümünün üst kısmında, oluşturulacak API türlerini seçin:

  • REST API: Test için Swagger kullanıcı arabirimi ile REST uç noktaları oluşturur.
  • GraphQL: Nitro GraphQL oyun alanı ile GraphQL uç noktaları oluşturur.
  • MCP (Önizleme): Model Bağlam Protokolü uç noktaları oluşturur.
  • Tümü: Tüm API türlerini seçer veya seçimini kaldırır.

En az bir API türü seçin.

Veri API oluşturucusu yapılandırma görünümünün üst kısmındaki REST API, GraphQL, MCP ve Tüm onay kutularının ekran görüntüsü.

Gelişmiş varlık yapılandırması

Varlık satırında dişli simgesini seçerek Gelişmiş Varlık Yapılandırması iletişim kutusunu açın ve burada şunları yapılandırabilirsiniz:

  • Varlık Adı: API yollarında ve yanıtlarında kullanılan ad (varsayılan olarak tablo adıdır).
  • Yetkilendirme Rolü: Anonim (kimlik doğrulaması gerekmez) ile Kimliği Doğrulanmış (kullanıcı kimlik doğrulaması gerektirir) arasında geçiş yapar.
  • Özel REST Yolu: Varsayılan api/entityName yol için isteğe bağlı geçersiz kılma.
  • Özel GraphQL Türü: Varsayılan GraphQL türü adı için isteğe bağlı geçersiz kılma.

Yapılandırmanızı kaydetmek için Değişiklikleri Uygula'yı veya atmak için İptal'i seçin.

Varlık Adı, Yetkilendirme Rolü, Özel REST Yolu ve Özel GraphQL Türü alanlarını gösteren Gelişmiş Varlık Yapılandırması iletişim kutusunun ekran görüntüsü.

Önizleme yapılandırması

Araç çubuğundaki Yapılandırmayı Görüntüle düğmesini seçerek yapılandırma görünümünün en altındaki Tanım panelini açın. Bu panel, oluşturulan Data API builder JSON yapılandırma dosyasını salt okunur biçimde gösterir.

Tanım paneli:

  • Geçerli varlık seçimini, API türlerini ve gelişmiş ayarları yansıtır.
  • Kullanıcı arabirimi ve GitHub Copilot sohbeti ile eşitlenmiş durumda kalır: her iki konumda yapılan değişiklikler önizlemeyi hemen güncelleştirir.
  • Yalnızca yapılandırma çıktısında etkin varlıkları içerir.
  • Seçilen API türlerini temel alan REST, GraphQL ve MCP çalışma zamanı bölümlerini gösterir.

Yapılandırmayı tam bir Visual Studio Code düzenleyicisi sekmesinde görüntülemek için Düzenleyicide Aç'ı seçin. Yapılandırmayı panoya kopyalamak için Kopyala'yı seçin.

Düzenleyicide Aç ve Kopyala düğmeleriyle oluşturulan Data API builder JSON yapılandırmasını gösteren Tanım panelinin ekran görüntüsü.

Docker ile yerel olarak dağıtma

Veri API'si oluşturucusu yerel bir Docker kapsayıcısı olarak dağıtılır. Dağıtım sihirbazı, işlemde size yol gösterir:

  1. Araç çubuğunda Dağıt düğmesini seçin.

  2. Yerel kapsayıcı dağıtımını açıklayan DAB Kapsayıcısını Dağıt iletişim kutusu açılır. sonrakiseçin.

    Yerel kapsayıcı dağıtım açıklamasını içeren DAB Kapsayıcısını Dağıt iletişim kutusunun ekran görüntüsü.

  3. Docker Hazır Hale Getirme ekranı önkoşul denetimlerini sırayla çalıştırır:

    • Docker yüklemesini denetleme: Docker'ın sisteminizde yüklü olduğunu doğrular.
    • Docker Desktop'ın başlatılması: Docker Desktop'ın çalıştığından emin olun.
    • Docker altyapısı denetleniyor: Docker altyapısının hazır olduğunu doğrular.

    Sıralı olarak çalışan Docker önkoşul denetimlerinin ekran görüntüsü.

    Tüm denetimler tamamlandıktan sonra devam etmek için İleri'yi seçin.

    Docker önkoşul denetimlerinin başarıyla tamamlandığının ekran görüntüsü.

  4. Kapsayıcı Ayarları ekranı görüntülenir:

    • Kapsayıcı Adı: Docker kapsayıcısı için isteğe bağlı ad (otomatik olarak oluşturulan varsayılan değer sağlanır).
    • Bağlantı noktası: ÜZERINDE API'yi kullanıma sunma bağlantı noktası (varsayılan: 5000).
    • Kapsayıcı, etkin veritabanı bağlantısındaki bağlantı dizesini yeniden kullanabilir.

    Kapsayıcı Oluştur'u seçin.

    Kapsayıcı Adı ve Bağlantı Noktası alanlarını içeren Kapsayıcı Ayarları ekranının ekran görüntüsü.

  5. Dağıtım üç adımı sırayla yürütür: görüntü çek, kapsayıcı başlat, hazırlığı kontrol et.

    Kapsayıcı oluşturma adımlarını gösteren dağıtım ilerleme durumunun ekran görüntüsü.

  6. Başarılı dağıtımda sihirbaz, etkinleştirilen her API türü için uç nokta URL'lerini görüntüler:

    API türü Bitiş noktası Eylem
    REST http://localhost:{port}/api Görünüm Swagger , Swagger kullanıcı arabirimini açar
    GraphQL http://localhost:{port}/graphql Nitro GraphQL oyun alanı açar
    MCP http://localhost:{port}/mcp VS Code'a ekle, MCP sunucu yapılandırmasını .vscode/mcp.json yazar.

    Visual Studio Code'un yerleşik Simple Browser'ında test arabirimini açmak için herhangi bir bağlantıyı seçin.

    Veri API oluşturucu kapsayıcısının uç nokta URL'leri ile çalıştığını gösteren dağıtım tamamlandı ekranının ekran görüntüsü.

    Aşağıdaki örnekte, REST uç noktalarını doğrudan Visual Studio Code'da test eden Swagger kullanıcı arabirimi gösterilmektedir:

    Visual Studio Code Simple Browser'da REST uç noktaları için Swagger kullanıcı arabiriminin ekran görüntüsü.

    Aşağıdaki örnekte GraphQL sorgularını ve mutasyonlarını test eden Nitro GraphQL oyun alanı gösterilmektedir:

    Visual Studio Code Simple Browser'daki Nitro GraphQL oyun alanının ekran görüntüsü.

Çalışan API'yi test edin

Dağıtımdan sonra, Visual Studio Code yerleşik Simple Browser'ı kullanarak API'lerinizi doğrudan dağıtım tamamlama iletişim kutusundan test edebilirsiniz.

REST API

REST uç noktalarını keşfetmeye ve test etmeye yönelik etkileşimli bir görsel arabirim olan Swagger kullanıcı arabirimini açmak için Swagger'ıGörüntüle'yi seçin. Kullanılabilir varlıklara göz atabilir, istek ve yanıt şemalarını görüntüleyebilir ve API çağrılarını doğrudan yürütebilirsiniz.

Veri API oluşturucusu, etkinleştirilen her varlık için aşağıdaki REST uç noktalarını oluşturur:

Yöntem Bitiş noktası Açıklama
GET /api/{entity} Bir varlığın tüm kayıtlarını listeleme
GET /api/{entity}/{primaryKey}/{value} Birincil anahtar kullanarak tek bir kayıt getir
POST /api/{entity} Yeni bir kayıt oluştur
PUT /api/{entity}/{primaryKey}/{value} Var olan bir kaydı değiştirme
PATCH /api/{entity}/{primaryKey}/{value} Kayıtta belirli alanları güncelleştirme
DELETE /api/{entity}/{primaryKey}/{value} Kayıt silme

REST uç noktaları hakkında daha fazla bilgi için bkz. Veri API'sini oluşturucu REST API.

GraphQL

GraphQL sorgularını ve mutasyonlarını etkileşimli olarak yazıp test edebilirsiniz Nitro GraphQL oyun alanı açmak için Nitro'yu seçin.

GraphQL uç noktaları hakkında daha fazla bilgi için bkz. Veri API'si oluşturucu graphQL API'si.

MCP

MCP sunucu yapılandırmasını .vscode/mcp.json konumuna yazmak için "VS Code'a Ekle"'yi seçin. Bu yapılandırma, Data API builder uç noktasını Visual Studio Code içinde mcp sunucusu olarak kullanılabilir hale getirir. GitHub Copilot gibi yapay zeka araçları daha sonra Veri API'sini oluşturucu API'sini kullanarak veritabanınızla etkileşimde bulunabilir.

Visual Studio Code'daki MCP hakkında daha fazla bilgi için bkz. Visual Studio Code'da MCP sunucularını kullanma.

Terminal testi

Uç noktaları terminalden de test edebilirsiniz:

REST API:

Belirli bir varlıktan tüm kayıtları alma:

curl http://localhost:{port}/api/{entityName}

Yeni bir kayıt oluşturun (oluşturma izni etkinleştirildiyse):

curl -X POST http://localhost:{port}/api/{entityName} \
  -H "Content-Type: application/json" \
  -d '{"Column1": "Value1", "Column2": "Value2"}'

GraphQL:

curl -X POST http://localhost:{port}/graphql \
  -H "Content-Type: application/json" \
  -d '{"query": "{ {entityName} { items { Column1 Column2 } } }"}'

Tavsiye

"{port}" değerini dağıtım sırasında yapılandırdığınız bağlantı noktasıyla değiştirin (varsayılan: 5000).

GitHub Copilot tümleştirmesi

Doğal dili tercih eden geliştiriciler için GitHub Copilot, Veri API'sini oluşturucu deneyiminde yerleşik olarak bulunur. Araç çubuğundaki Sohbet düğmesini seçerek Veri API oluşturucusu yapılandırma bağlamı kapsamındaki bir GitHub Copilot sohbet oturumu açın. GitHub Copilot ve kullanıcı arabirimi eşitlenmiş durumda kalır: Sohbet aracılığıyla yapılan değişiklikler hemen kullanıcı arabirimine yansıtılır ve tam tersi de geçerlidir.

Bazı örnek istemler aşağıda verilmiştir:

  • "Enable all SalesLT entities for read operations"
  • "Expose only the Customer and Product tables with full CRUD permissions"
  • "Set all entities in the dbo schema to read-only"
  • "Disable the BuildVersion and ErrorLog entities"
  • "Can you also enable MCP for the Data API builder API?"

Aşağıdaki örnekte, GitHub Copilot'ın varlıkları etkinleştirmesi ve crud izinlerini bir sohbet istemi aracılığıyla yapılandırması gösterilmektedir:

Veri API oluşturucusu sohbetinde varlıkları etkinleştiren ve doğal dil istemi aracılığıyla CRUD izinlerini ayarlayan GitHub Copilot'ın ekran görüntüsü.

Aşağıdaki örnekte, Veri API'sinin oluşturucu yapılandırması için MCP uç noktalarını etkinleştiren GitHub Copilot gösterilmektedir:

Veri API'sini oluşturucu sohbetindeki doğal dil istemi aracılığıyla MCP uç noktalarını etkinleştiren GitHub Copilot'ın ekran görüntüsü.

Uyarı

GitHub Copilot tümleştirmesi için GitHub Copilot ve GitHub Copilot Sohbet uzantılarının yüklenmesi ve oturum açması gerekir. Kurulum yönergeleri için bkz. GitHub Copilot'ı ayarlama.

Bilinen sınırlamalar

  • Yalnızca tablolar: Yapılandırma kullanıcı arabirimi yalnızca tabloları destekler. Görünümler ve saklı yordamlar şu anda tasarımcıda mevcut değil.
  • Docker Desktop gerekli: Yerel dağıtım, Docker Desktop'ın yüklenmesini ve çalıştırılmasını gerektirir.
  • Yalnızca SQL kimlik doğrulaması: Kapsayıcı ortamı etkileşimli oturum açma akışı için bir tarayıcı açamadığından, yerel Docker kapsayıcıları gibi ActiveDirectoryInteractiveMicrosoft Entra Id kimlik doğrulama yöntemlerini desteklemez. Geçerli bağlantınız desteklenmeyen bir kimlik doğrulama türü kullanıyorsa uzantı bir bildirim görüntüler.
  • Microsoft Fabric'teki SQL veritabanı desteklenmez: Microsoft Fabric'teki SQL veritabanı yalnızca Microsoft Entra kimlik doğrulamasını gerektirir ve SQL kimlik doğrulamasını desteklemez. Yerel kapsayıcı dağıtımı SQL kimlik doğrulaması gerektirdiği için, Fabric'de SQL veritabanına karşı dağıtım yapılması uygun değildir.
  • Birincil anahtar gerekli: Veri API oluşturucusu aracılığıyla kullanıma sunulan her tablo varlığının veritabanı düzeyinde tanımlanmış bir birincil anahtar kısıtlaması olmalıdır. Birincil anahtarı olmayan tablolar, Veri API'sinin oluşturucu altyapısının başlangıçta başarısız olmasına neden olur.
  • Yapay zeka tarafından oluşturulan çıkış gözden geçirilmelidir: GitHub Copilot yanlış veya en iyi olmayan yapılandırmalar üretebilir. Dağıtımdan önce oluşturulan yapılandırmaları her zaman gözden geçirin.

Bilinen sorunlar

  • Desteklenmeyen SQL Server veri türleri: Veri API oluşturucusu belirli SQL Server veri türlerini seri hale getiremez. Desteklenmeyen türlere sahip sütunlar içeren tablolar, motorun başlatılırken başarısız olmasına neden olabilir. Desteklenmeyen türler , , geography, geometry, hierarchyid, rowversionve sql_varianttürlerini içerirxml. Uzantı, etkilenen varlıkları bir uyarı simgesiyle işaretler ve dağıtım için seçilmelerini önler. Veri türü desteği hakkında en son bilgiler için bkz. GitHub sorunu #3181.
  • Kapsayıcı dağıtımı için etkileşimli Microsoft Entra Id kimlik doğrulaması desteklenmiyor: Veri API'si oluşturucu kapsayıcısı etkileşimli Microsoft Entra kimlik doğrulaması gerçekleştiremiyor. Etkileşimli Microsoft Entra ID yöntemlerini kullanan bağlantılar bir bildirimle engellenir. Daha fazla bilgi için bkz. GitHub sorunu #3246.
  • MCP önizleme aşamasında: Veri API'sinin oluşturucusu MCP deneyimi şu anda önizleme aşamasındadır. Daha fazla bilgi için bkz. Veri API'si oluşturucu MCP Önizlemesi.

Geri bildirim ve destek

Fikirleriniz, geri bildirimleriniz varsa veya toplulukla etkileşim kurmak istiyorsanız adresinden https://aka.ms/vscode-mssql-discussionstartışmaya katılın. Bir hatayı bildirmek için https://aka.ms/vscode-mssql-bug adresini ziyaret edin. Yeni bir özellik istemek için adresine https://aka.ms/vscode-mssql-feature-requestgidin.