Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekstensi MSSQL untuk Visual Studio Code menyertakan UI terintegrasi untuk penyusun Api Data, sehingga Anda dapat membuat titik akhir REST, GraphQL, dan MCP untuk tabel database SQL Anda tanpa menulis file konfigurasi atau meninggalkan Visual Studio Code. Anda dapat memilih tabel mana yang akan diekspos, mengonfigurasi izin CRUD, memilih jenis API, mempratinjau konfigurasi yang dihasilkan, dan menyebarkan backend lokal yang didukung oleh pembuat API Data, semuanya dari antarmuka visual.
Petunjuk / Saran
Penyusun API Data saat ini dalam pratinjau dan mungkin berubah berdasarkan umpan balik. Bergabunglah dengan komunitas di GitHub Discussions untuk berbagi ide atau melaporkan masalah.
Penting
Fitur ini memiliki batasan yang diketahui, termasuk dukungan khusus autentikasi SQL untuk penyebaran kontainer dan kompatibilitas jenis data terbatas. Tinjau Batasan yang diketahui dan Masalah yang diketahui sebelum menyebarkan.
Features
Integrasi penyusun API Data menawarkan kemampuan ini:
- Pilih entitas database (tabel) untuk diekspos sebagai titik akhir API, diatur menurut skema dengan pengelompokan yang dapat diciutkan.
- Konfigurasikan izin Buat, Baca, Perbarui, dan Hapus (CRUD) secara independen untuk setiap entitas.
- Pilih jenis API untuk dihasilkan: REST, GraphQL, MCP, atau kombinasi apa pun.
- Konfigurasikan pengaturan entitas tingkat lanjut termasuk jalur REST kustom, nama jenis GraphQL kustom, dan peran otorisasi.
- Pratinjau konfigurasi JSON yang dihasilkan oleh Data API builder pada panel Definisi yang hanya-baca.
- Sebarkan penyusun API Data secara lokal sebagai kontainer Docker dengan pemeriksaan prasyarat otomatis.
- Uji API yang berjalan langsung di Visual Studio Code menggunakan Browser Sederhana bawaan.
- Gunakan obrolan GitHub Copilot untuk mengonfigurasi entitas melalui perintah bahasa alami.
Prasyarat
Sebelum Anda menggunakan penyusun Data API, pastikan persyaratan berikut terpenuhi:
- Ekstensi MSSQL untuk Visual Studio Code diinstal. Untuk langkah-langkah penginstalan, lihat gambaran umum ekstensi MSSQL untuk Visual Studio Code.
- Koneksi database aktif dibuat melalui ekstensi MSSQL. Untuk langkah-langkah koneksi, lihat Mulai Cepat: Menyambungkan dan mengkueri database dengan ekstensi MSSQL untuk Visual Studio Code.
- Docker Desktop diinstal dan berjalan di komputer Anda (diperlukan untuk penyebaran lokal).
- (Opsional) Ekstensi GitHub Copilot dan GitHub Copilot Chat diinstal untuk konfigurasi entitas yang dibantu AI.
Pembangun Api Data Terbuka
Anda dapat membuka tampilan konfigurasi penyusun Api Data dari dua titik masuk:
Dari Object Explorer: Klik kanan pada simpul database dan pilih Build Data API (Pratinjau)....
Dari Perancang Skema: Pilih tombol API Desain (tombol di sudut kanan atas toolbar), atau pilih ikon Backend di panel sisi kiri.
Tampilan konfigurasi penyusun API Data terbuka, menampilkan entitas database, opsi jenis API, dan kontrol konfigurasi Anda.
Pilih entitas
Tampilan pemilihan entitas mencantumkan semua tabel dari database tersambung Anda, dikelompokkan menurut skema.
- Setiap baris skema dapat diciutkan dan menunjukkan lencana hitungan yang menunjukkan berapa banyak entitas yang diaktifkan (misalnya, "3/5").
- Pilih kotak centang tingkat skema untuk mengalihkan semua entitas dalam skema tersebut. Kotak centang mendukung pilihan tiga status: semua, tidak ada, atau campuran.
- Setiap baris entitas ditampilkan: kotak centang aktifkan, nama entitas, tabel sumber, kotak centang CRUD, dan tombol pengaturan.
- Menonaktifkan entitas akan membuat barisnya berwarna abu-abu dan menonaktifkan kotak centang CRUD serta tombol pengaturan.
Gunakan kotak filter di bagian atas untuk mencari entitas menurut nama, skema, atau tabel sumber. Filter tidak peka huruf besar/kecil, dan jumlah yang diaktifkan diperbarui berdasarkan hasil filter.
Mengonfigurasi izin dan jenis API
Izin CRUD
Alihkan kotak centang Buat, Baca, Perbarui, dan Hapus individual untuk setiap entitas. Kotak centang CRUD di tingkat header dapat mengubah tindakan tersebut untuk semua entitas yang diaktifkan dan mendukung pemilihan tiga-status.
Pilihan jenis API
Di bagian atas tampilan konfigurasi, pilih jenis API yang akan dihasilkan:
- REST API: Menghasilkan titik akhir REST dengan UI Swagger untuk pengujian.
- GraphQL: Menghasilkan titik akhir GraphQL dengan taman bermain Nitro GraphQL.
- MCP (Preview): Menghasilkan titik akhir Protokol Konteks Model.
- Semua: Menyaring atau menghapus pilihan semua jenis API.
Pilih setidaknya satu jenis API.
Konfigurasi entitas tingkat lanjut
Pilih ikon gigi pada baris entitas untuk membuka dialog Konfigurasi Entitas Tingkat Lanjut , tempat Anda dapat mengonfigurasi:
- Nama Entitas: Nama yang digunakan dalam rute dan respons API (default ke nama tabel).
- Peran Otorisasi: Beralih antara Anonim (tidak diperlukan autentikasi) dan Diautentikasi (memerlukan autentikasi pengguna).
-
Jalur REST Khusus: Penggantian opsional untuk jalur default
api/entityName. - Tipe GraphQL Kustom: Penggantian yang bersifat opsional untuk nama tipe GraphQL bawaan.
Pilih Terapkan Perubahan untuk menyimpan konfigurasi Anda, atau Batal untuk membuang.
Konfigurasi pratinjau
Pilih tombol Tampilkan Konfigurasi di toolbar untuk membuka panel Definisi di bagian bawah tampilan konfigurasi. Panel ini menunjukkan file konfigurasi JSON penyusun Api Data yang dihasilkan dalam format baca-saja.
Panel Definisi:
- Mencerminkan pemilihan entitas saat ini, jenis API, dan pengaturan tingkat lanjut.
- Tetap sinkron dengan UI dan obrolan GitHub Copilot: perubahan yang dilakukan di lokasi mana pun akan segera memperbarui pratinjau.
- Hanya menyertakan entitas yang diaktifkan dalam output konfigurasi.
- Menampilkan bagian runtime REST, GraphQL, dan MCP berdasarkan jenis API yang dipilih.
Pilih Buka di Editor untuk melihat konfigurasi di tab editor Visual Studio Code lengkap. Pilih Salin untuk menyalin konfigurasi ke clipboard.
Menyebarkan secara lokal dengan Docker
Penyusun API Data disebarkan sebagai kontainer Docker lokal. Wizard penyebaran memandu Anda melalui proses:
Pilih tombol Sebarkan di toolbar.
Dialog Sebarkan Kontainer DAB terbuka, yang menjelaskan penyebaran kontainer lokal. Pilih Selanjutnya.
Layar Getting Docker Ready menjalankan pemeriksaan prasyarat secara berurutan:
- Memeriksa penginstalan Docker: Memverifikasi Docker diinstal pada sistem Anda.
- Memulai Docker Desktop: Memastikan Docker Desktop berjalan.
- Memeriksa mesin Docker: Memverifikasi mesin Docker sudah siap.
Pilih Berikutnya untuk melanjutkan setelah semua pemeriksaan selesai.
Layar Pengaturan Kontainer muncul:
- Nama Kontainer: Nama opsional untuk kontainer Docker (default yang dibuat secara otomatis disediakan).
-
Port: Port untuk mengekspos API pada (default:
5000). - Kontainer menggunakan kembali string koneksi dari koneksi database aktif.
Pilih Buat Kontainer.
Penyebaran menjalankan tiga langkah secara berurutan: menarik gambar, memulai kontainer, dan memeriksa kesiapan.
Pada penyebaran yang berhasil, wizard menampilkan URL titik akhir untuk setiap jenis API yang diaktifkan:
Jenis API Titik Akhir Action REST http://localhost:{port}/apiView Swagger membuka UI Swagger GraphQL http://localhost:{port}/graphqlNitro membuka taman bermain GraphQL MCP http://localhost:{port}/mcpMenambahkan ke Visual Studio Code menulis konfigurasi server MCP ke .vscode/mcp.jsonPilih tautan apa pun untuk membuka antarmuka pengujian di Browser Sederhana bawaan Visual Studio Code.
Contoh berikut menunjukkan antarmuka pengguna Swagger untuk menguji titik akhir REST langsung di Visual Studio Code:
Contoh berikut menunjukkan taman bermain Nitro GraphQL untuk menguji kueri dan mutasi GraphQL:
Menguji API yang sedang berjalan
Setelah penyebaran, Anda dapat menguji API langsung dari dialog penyelesaian penyebaran menggunakan Browser Sederhana bawaan Visual Studio Code.
REST API
Pilih Tampilkan Swagger untuk membuka antarmuka pengguna Swagger, antarmuka visual interaktif untuk menjelajahi dan menguji titik akhir REST. Anda dapat menelusuri entitas yang tersedia, melihat skema permintaan dan respons, dan menjalankan panggilan API secara langsung.
Penyusun API Data menghasilkan titik akhir REST berikut untuk setiap entitas yang diaktifkan:
| Metode | Titik Akhir | Deskripsi |
|---|---|---|
GET |
/api/{entity} |
Mencantumkan semua rekaman untuk entitas |
GET |
/api/{entity}/{primaryKey}/{value} |
Mendapatkan satu rekaman menurut kunci primer |
POST |
/api/{entity} |
Membuat rekaman baru |
PUT |
/api/{entity}/{primaryKey}/{value} |
Ganti rekaman yang sudah ada |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Memperbarui bidang tertentu pada rekaman |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Hapus sebuah catatan |
Untuk informasi selengkapnya tentang endpoint REST, lihat Data API Builder REST API.
GraphQL
Pilih Nitro untuk membuka taman bermain Nitro GraphQL, tempat Anda dapat menulis dan menguji kueri dan mutasi GraphQL secara interaktif.
Untuk informasi selengkapnya tentang titik akhir GraphQL, lihat API GraphQL penyusun API Data.
MCP
Pilih Tambahkan ke Visual Studio Code untuk menulis konfigurasi server MCP ke .vscode/mcp.json. Konfigurasi ini membuat titik akhir penyusun API Data tersedia sebagai server MCP dalam Visual Studio Code. Alat AI seperti GitHub Copilot kemudian dapat berinteraksi dengan database Anda melalui API penyusun API Data.
Untuk informasi selengkapnya tentang MCP di Visual Studio Code, lihat Menggunakan server MCP di Visual Studio Code.
Pengujian terminal
Anda juga dapat menguji titik akhir dari terminal:
REST API:
Dapatkan semua rekaman dari entitas tertentu:
curl http://localhost:{port}/api/{entityName}
Buat rekaman baru (jika Buat izin diaktifkan):
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 } } }"}'
Petunjuk / Saran
Ganti {port} dengan port yang Anda konfigurasi selama penyebaran (default: 5000).
Integrasi GitHub Copilot
Untuk pengembang yang lebih suka bahasa alami, GitHub Copilot dibangun ke dalam pengalaman penyusun API Data. Pilih tombol Obrolan di toolbar untuk membuka sesi chat GitHub Copilot yang ditujukan untuk konteks konfigurasi Data API builder. GitHub Copilot dan UI tetap sinkron: perubahan yang dilakukan melalui obrolan segera tercermin di UI dan sebaliknya.
Berikut adalah beberapa contoh perintah:
"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?"
Contoh berikut menunjukkan GitHub Copilot yang mengaktifkan entitas dan mengonfigurasi izin CRUD melalui prompt obrolan:
Contoh berikut menunjukkan GitHub Copilot mengaktifkan endpoint MCP untuk konfigurasi penyusun API Data.
Nota
Integrasi GitHub Copilot mengharuskan ekstensi GitHub Copilot dan GitHub Copilot Chat diinstal dan masuk. Untuk instruksi penyiapan, lihat Menyiapkan GitHub Copilot.
Batasan yang diketahui
- Hanya tabel: UI konfigurasi hanya mendukung tabel. Tampilan dan prosedur tersimpan tidak tersedia di desainer saat ini.
- Docker Desktop diperlukan: Penyebaran lokal mengharuskan Docker Desktop diinstal dan dijalankan.
-
Autentikasi SQL saja: Kontainer Docker Lokal tidak mendukung metode autentikasi ID Microsoft Entra, seperti
ActiveDirectoryInteractive, karena lingkungan kontainer tidak dapat membuka browser untuk alur masuk interaktif. Ekstensi menampilkan pemberitahuan jika koneksi Anda saat ini menggunakan jenis autentikasi yang tidak didukung. - Database SQL di Microsoft Fabric tidak didukung: Database SQL di Microsoft Fabric memerlukan autentikasi Microsoft Entra secara eksklusif dan tidak mendukung autentikasi SQL. Karena penyebaran kontainer lokal memerlukan autentikasi SQL, penyebaran terhadap database SQL di Fabric bukanlah skenario yang layak.
- Kunci primer yang diperlukan: Setiap entitas tabel yang diekspos melalui penyusun API Data harus memiliki batasan kunci utama yang ditentukan di tingkat database. Tabel tanpa kunci primer menyebabkan mesin penyusun API Data gagal saat startup.
- Output yang dihasilkan AI harus ditinjau: GitHub Copilot mungkin menghasilkan konfigurasi yang salah atau suboptimal. Selalu tinjau konfigurasi yang dihasilkan sebelum menyebarkan.
Masalah yang diketahui
-
Jenis data SQL Server yang tidak didukung: Penyusun API Data tidak dapat membuat serialisasi jenis data SQL Server tertentu. Tabel yang berisi kolom dengan jenis yang tidak didukung dapat menyebabkan mesin gagal saat startup. Jenis yang tidak didukung meliputi
geography, ,geometry,hierarchyid,rowversionsql_variant, danxml. Ekstensi menandai entitas yang terpengaruh dengan ikon peringatan dan mencegahnya dipilih untuk penyebaran. Untuk informasi terbaru tentang dukungan jenis data, lihat Masalah GitHub #3181. - Autentikasi ID Microsoft Entra interaktif tidak didukung untuk penyebaran kontainer: Kontainer penyusun API Data tidak dapat melakukan autentikasi Microsoft Entra interaktif. Koneksi yang menggunakan metode ID Microsoft Entra interaktif diblokir dengan pemberitahuan. Untuk informasi selengkapnya, lihat Masalah GitHub #3246.
- MCP sedang dalam pratinjau: Pengalaman pembangun Data API MCP saat ini dalam pratinjau. Untuk informasi selengkapnya, lihat Data API builder MCP Preview.
Tanggapan dan dukungan
Jika Anda memiliki ide, umpan balik, atau ingin terlibat dengan komunitas, bergabunglah dengan diskusi di https://aka.ms/vscode-mssql-discussions. Untuk melaporkan bug, kunjungi https://aka.ms/vscode-mssql-bug. Untuk meminta fitur baru, buka https://aka.ms/vscode-mssql-feature-request.
Konten terkait
- Apa itu penyusun API Data?
- Dokumentasi penyusun API Data
- GitHub Copilot untuk ekstensi MSSQL untuk Visual Studio Code
- Desainer Skema
- Integrasi GitHub Copilot dalam Schema Designer (pratinjau)
- Panduan Cepat: Menyambungkan dan mengkueri database menggunakan ekstensi MSSQL di Visual Studio Code
- Kontainer SQL Server lokal
- Dokumentasi Visual Studio Code
- Ekstensi MSSQL untuk repositori Visual Studio Code di GitHub