Bagikan melalui


Apa itu Microsoft Fabric API untuk GraphQL?

GraphQL adalah bahasa kueri sumber terbuka dan runtime untuk API yang dikelola oleh GraphQL Foundation. Tidak seperti REST API tradisional, GraphQL memungkinkan klien untuk meminta data yang mereka butuhkan dalam satu kueri, mengurangi pengambilan berlebihan dan pengambilan data yang kurang.

Microsoft Fabric API untuk GraphQL menghadirkan standar canggih ini ke ekosistem Fabric sebagai lapisan akses data yang memungkinkan Anda mengkueri beberapa sumber data dengan cepat dan efisien. API mengabstraksi spesifik sumber data backend sehingga Anda fokus pada logika aplikasi Anda dan menyediakan semua data yang dibutuhkan klien dalam satu panggilan. Dengan bahasa kueri sederhana dan manipulasi tataan hasil yang efisien, GraphQL meminimalkan waktu yang diperlukan aplikasi untuk mengakses data Anda di Fabric.

Mengapa menggunakan GraphQL untuk data Fabric

Tanpa GraphQL, mengekspos data Fabric ke aplikasi biasanya memerlukan salah satu pendekatan berikut:

Koneksi database langsung

  • Aplikasi terhubung langsung ke lakehouse atau gudang data menggunakan driver SQL (ODBC, JDBC)
  • Menghubungkan kode aplikasi dengan erat ke skema database—perubahan skema merusak aplikasi
  • Memerlukan pengelolaan string koneksi, kredensial, dan dependensi driver di setiap aplikasi
  • Kueri SQL yang disematkan dalam kode aplikasi sulit diuji dan dikelola

REST API Kustom

  • Membangun dan memelihara layanan backend kustom dengan kerangka kerja seperti ASP.NET atau Node.js
  • Menulis kode pengontrol, logika perutean, dan lapisan akses data untuk setiap titik akhir
  • Membuat versi API terpisah (v1, v2, v3) saat struktur data berubah
  • Mengambil data secara berlebihan (mendapatkan seluruh baris saat Anda memerlukan beberapa kolom) atau mengambil data terlalu sedikit (melakukan permintaan data yang berulang untuk data terkait)

GraphQL memecahkan tantangan ini:

  • Tidak ada kode backend yang diperlukan: Fabric secara otomatis menghasilkan skema GraphQL, resolver, dan titik akhir dari sumber data Anda
  • Kueri persis apa yang Anda butuhkan: Meminta bidang tertentu dalam satu kueri, menghilangkan pengambilan berlebihan dan mengurangi ukuran payload
  • Mengambil data terkait dalam satu permintaan: Menelusuri hubungan tanpa pengambilan data berulang (tidak ada isu kueri N+1)
  • Evolusi skema tanpa melanggar perubahan: Menambahkan bidang baru tanpa memengaruhi kueri yang ada—klien hanya meminta apa yang mereka ketahui
  • Jenis keamanan dan dokumentasi: Skema dokumentasi mandiri dengan introspeksi bawaan yang dipahami alat pengembangan
  • Akses terpadu ke beberapa sumber: Melakukan kueri di seluruh lakehouse, gudang, dan database SQL melalui satu endpoint

Untuk pengembang aplikasi, GraphQL berarti pengembangan yang lebih cepat dengan infrastruktur yang lebih sedikit. Untuk teknisi data, itu berarti mengekspos data tanpa menulis dan memelihara kode API kustom.

Siapa yang harus menggunakan API untuk GraphQL

API Fabric untuk GraphQL dirancang untuk:

  • Pengembang aplikasi membangun aplikasi web dan seluler berbasis data yang mengonsumsi Fabric lakehouse dan data gudang
  • Teknisi data mengekspos data Fabric ke aplikasi hilir melalui API modern dan fleksibel tanpa menulis kode backend kustom
  • Pengembang integrasi yang menghubungkan data Fabric ke aplikasi kustom dan alur kerja otomatis
  • Pengembang BI membuat aplikasi analitik kustom yang melengkapi Power BI dengan data Fabric
  • Data scientist mengekspos data Fabric dan wawasan pembelajaran mesin melalui API programatik

Jika Anda bekerja dalam platform analitik terpadu Microsoft Fabric dan perlu membuat data database lakehouse, gudang, atau SQL dapat diakses oleh aplikasi, API GraphQL menyediakan cara yang efisien dan ramah pengembang untuk mengkueri data yang Anda butuhkan.

Tip

Ingin mengintegrasikan Fabric GraphQL API dengan agen AI? Coba tutorial Membangun server MCP GraphQL lokal untuk agen AI untuk menyambungkan agen AI ke data Fabric Anda menggunakan Protokol Konteks Model.

Mengekspos data melalui API untuk GraphQL

Mengekspos sumber data ke item GraphQL di Microsoft Fabric sangat mudah dan dapat dicapai dalam hitungan menit menggunakan antarmuka visual portal Fabric. Proses ini melibatkan:

  1. Membuat item API GraphQL di ruang kerja Fabric Anda
  2. Sambungkan sumber data Anda dengan memilih dari lakehouse, gudang data, atau basis data yang tersedia
  3. Memilih objek mana yang akan diekspos seperti tabel, tampilan, atau prosedur tersimpan
  4. Menentukan hubungan (opsional) antar objek untuk mengaktifkan kueri berlapis yang kuat
  5. Mengonfigurasi izin untuk mengontrol siapa yang dapat mengakses API Anda

Setelah dikonfigurasi, Fabric secara otomatis menghasilkan skema GraphQL, membuat resolver yang diperlukan, dan memberi Anda URL titik akhir. API Anda segera siap untuk menerima kueri—tidak diperlukan penyebaran atau penyiapan infrastruktur.

Untuk instruksi langkah demi langkah, lihat Membuat API untuk GraphQL di Fabric dan menambahkan data.

Sumber data yang didukung

Saat ini sumber data yang didukung berikut diekspos melalui Fabric API untuk GraphQL:

  • Gudang Data Microsoft Fabric
  • Database SQL Microsoft Fabric
  • Microsoft Fabric Lakehouse melalui Titik Akhir Analitik SQL
  • Microsoft Fabric Mirrored Databases melalui Titik Akhir SQL Analytics, termasuk:
    • Azure SQL Database
    • Azure SQL Managed Instance
    • Azure Cosmos DB
    • Microsoft Fabric SQL Database
    • Azure Databricks
    • Snowflake
    • Membuka basis data terduplikasi
  • Database Azure SQL
  • Datamart

Fitur

Microsoft Fabric API untuk GraphQL menyediakan kemampuan komprehensif yang menyederhanakan akses data untuk aplikasi. Dari pembuatan kode otomatis hingga pemantauan performa, fitur ini memungkinkan Anda membangun API data yang kuat dengan konfigurasi minimal.

Pembuatan skema otomatis

  • Penemuan skema: Secara otomatis menemukan dan memetakan skema sumber data ke jenis GraphQL
  • Pembuatan kueri dan mutasi: Membuat kueri dan mutasi GraphQL berdasarkan struktur data Anda
  • Pembuatan resolver: Secara otomatis menghasilkan resolver yang diperlukan untuk mengambil data dari sumber Anda
  • Kode pengujian lokal: Menghasilkan kode sampel untuk pengujian dan pengembangan segera

Fleksibilitas sumber data

  • Beberapa sumber data: Menyambungkan dan melakukan kueri di beberapa sumber data dengan dukungan kueri fan-out
  • Objek Basis Data: Dukungan penuh untuk tabel, tampilan, dan prosedur tersimpan di basis data dan gudang SQL
  • Paparan selektif: Pilih objek dan kolom tertentu untuk diekspos melalui API
  • Pemodelan Hubungan: Membuat hubungan satu-ke-satu, satu-ke-banyak, dan banyak-ke-banyak antara entitas data

Operasi dan pemantauan

  • Pemantauan performa: Dasbor bawaan dan pengelogan permintaan untuk melacak perilaku dan penggunaan API

Evolusi skema tanpa penerapan versi

GraphQL mengambil pendekatan unik untuk evolusi API dengan menghindari penerapan versi tradisional. Alih-alih membuat titik akhir v1, v2, dan v3, API GraphQL berkembang terus menerus:

  • Perubahan aditif: Anda dapat menambahkan jenis, bidang, dan kemampuan baru tanpa merusak kueri yang ada. Klien hanya meminta bidang yang mereka butuhkan, sehingga bidang baru tidak memengaruhinya.
  • Kompatibilitas mundur: Kueri yang ada terus berfungsi bahkan saat skema tumbuh, karena GraphQL hanya mengembalikan data yang diminta secara eksplisit.
  • Penghentian penghapusan: Bidang dapat ditandai sebagai tidak digunakan lagi daripada segera dihapus, memberi klien waktu untuk beradaptasi.
  • Titik akhir tunggal: Aplikasi selalu terhubung ke titik akhir yang sama, terlepas dari perubahan skema.

Pendekatan ini menyederhanakan pemeliharaan API dan peningkatan klien dibandingkan dengan API versi tradisional. Saat Anda memodifikasi skema GraphQL API di Fabric, aplikasi yang ada terus berfungsi selama Anda menambahkan kemampuan baru daripada menghapus atau mengganti nama bidang yang ada. Untuk informasi selengkapnya tentang mengelola perubahan skema, lihat Fabric API untuk introspeksi GraphQL dan ekspor skema.

Pengalaman pengeditan interaktif

API untuk GraphQL menyertakan editor yang memungkinkan Anda mengembangkan dan menguji kueri dan mutasi Anda dengan mudah. Kemampuan editor meliputi:

  • Panel hasil untuk memvisualisasikan output kueri dan mutasi
  • Dukungan untuk parameter kueri dan mutasi
  • Intellisense yang mendukung sintaksis GraphQL dan nama objek skema

Untuk informasi selengkapnya tentang menggunakan editor GraphQL, lihat API untuk editor GraphQL.

Keterbatasan

Lihat API untuk batasan GraphQL untuk informasi selengkapnya.