Membuat API untuk GraphQL di Fabric dan menambahkan data
Mulai menggunakan Fabric API untuk GraphQL dengan membuat API, lalu menautkan sumber data untuk mengekspos data yang Anda pilih melalui API. Fabric membangun skema GraphQL secara otomatis berdasarkan data Anda, dan aplikasi siap untuk terhubung dalam hitungan menit.
Prasyarat
Membuat API untuk GraphQL
Untuk membuat API untuk GraphQL:
Pilih Item Baru dari ruang kerja apa pun. Di panel yang terbuka, di bawah Kembangkan data, pilih API untuk GraphQL.
Masukkan Nama untuk item Anda dan pilih Buat.
Anda sekarang memiliki API yang berfungsi penuh untuk mengakses data Anda di Fabric.
Menyambungkan ke sumber data dan membangun skema Anda
Pada titik ini, API siap tetapi tidak mengekspos data apa pun. API untuk GraphQL didefinisikan dalam skema yang diatur dalam hal jenis dan bidang, dalam sistem yang sangat diketik. Fabric secara otomatis menghasilkan skema GraphQL yang diperlukan berdasarkan data yang Anda pilih untuk diekspos ke klien GraphQL.
Di API baru Anda, pilih sumber data untuk diekspos dengan memilih Pilih sumber data.
Selanjutnya pilih opsi konektivitas untuk API Anda:
Di sini Anda dapat menentukan bagaimana klien API dapat mengakses API untuk menjalankan permintaan GraphQL berdasarkan dua opsi yang berbeda:
- Akses menyeluruh (SSO): gunakan kredensial klien untuk menyambungkan ke sumber data, yang berarti pengguna API yang diautentikasi harus memiliki akses ke sumber data yang mendasar. Misalnya, jika Anda mengekspos data Lakehouse ke klien API Anda, pengguna yang diautentikasi harus memiliki akses ke API dan Lakehouse. Lebih khusus lagi, izin Jalankan ke API GraphQL ( opsiJalankan Kueri dan Mutasi saat menambahkan izin akses langsung) dan izin baca atau tulis yang diperlukan dalam sumber data pilihan. Atau, pengguna dapat ditambahkan sebagai anggota ruang kerja dengan peran kontributor di mana API dan item sumber data berada, yang akan memberikan akses yang diperlukan ke kedua item dari satu lokasi. Untuk informasi selengkapnya, lihat Memberi pengguna akses ke ruang kerja.
- Kredensial tersimpan: gunakan kredensial yang disimpan untuk menyambungkan ke sumber data, yang berarti pengguna API yang diautentikasi tidak memerlukan akses langsung ke sumber data. Kredensial yang disimpan dibagikan untuk mengakses data antara API dan tabel yang mendasar di sumber data. Misalnya, jika Anda mengekspos data Lakehouse ke klien API Anda, pengguna yang diautentikasi hanya perlu memiliki akses langsung ke API (opsi Jalankan Kueri dan Mutasi saat menambahkan izin akses langsung) dan bukan Lakehouse. Kredensial yang disimpan digunakan untuk menghubungkan API ke sumber data dan dibagikan oleh semua pengguna API yang diautentikasi. Opsi ini diperlukan jika Anda mengekspos sumber data Azure seperti database Azure SQL melalui GraphQL. Setelah memilih OK, Anda akan diminta untuk membuat kredensial baru yang disimpan setelah memilih sumber data di langkah berikutnya jika tidak ada kredensial yang disimpan untuk kredensial yang sudah ada.
Setelah dipilih, opsi ini diberlakukan untuk semua sumber data yang kemudian ditambahkan ke API. Tidak dimungkinkan untuk mencampur akses menyeluruh dan kredensial yang disimpan di API yang sama. Selain itu, meskipun Anda dapat menggunakan Nama Prinsipal Pengguna (UPN) atau Nama Prinsipal Layanan (SPN) untuk terhubung ke API Anda, perwakilan layanan hanya mendukung akses menyeluruh (SSO) saat ini. Prinsipal pengguna dapat memanfaatkan SSO atau kredensial yang disimpan, tergantung pada persyaratan keamanan Anda.
Catatan
API untuk GraphQL mengharuskan aplikasi klien menggunakan ID Microsoft Entra untuk autentikasi. Aplikasi klien Anda harus didaftarkan dan dikonfigurasi secara memadai untuk menjalankan panggilan API terhadap Fabric. Aplikasi yang terdaftar di MICROSOFT Entra ID memerlukan izin GraphQL.Execute.All API untuk layanan Power BI. Anda dapat menemukan tutorial end-to-end dengan instruksi dan kode sampel untuk perwakilan pengguna dan perwakilan layanan di Connect Applications.
Hub data OneLake muncul; pilih sumber data yang ingin Anda sambungkan. Untuk contoh berikut, kami memilih titik akhir analitik AdventureWorks SQL yang ditautkan ke database cermin. Pilih Filter untuk melihat hanya jenis sumber data Fabric tertentu, atau cari menurut kata kunci tertentu. Saat Anda siap, pilih Sambungkan.
Layar Dapatkan data muncul, tempat Anda dapat memilih objek mana yang ingin Anda ekspos dalam skema GraphQL Anda.
Pilih kotak centang di samping tabel individual atau prosedur tersimpan yang ingin Anda ekspos di API. Untuk memilih semua objek dalam folder, pilih kotak centang dengan nama sumber data di bagian atas.
Pilih Muat untuk memulai proses pembuatan skema GraphQL.
Skema dibuat dan Anda dapat mulai membuat prototipe kueri GraphQL (baca, daftar) atau mutasi (buat, perbarui, hapus) untuk berinteraksi dengan data Anda.
API Anda untuk GraphQL sekarang siap untuk menerima koneksi dan permintaan. Anda dapat menggunakan editor API untuk menguji dan membuat prototipe kueri GraphQL dan penjelajah Skema untuk memverifikasi jenis data dan bidang yang diekspos di API.
Ringkasan izin
Tabel di bawah ini meringkas berbagai permutasi yang didukung dan izin minimum yang diperlukan untuk klien yang mengakses API GraphQL:
Pemanggil API | Konektivitas sumber data | Izin API GraphQL yang diperlukan | Izin Sumber Data yang Diperlukan | Cakupan aplikasi Entra |
---|---|---|---|---|
Prinsipal Pengguna (UPN) | Akses menyeluruh (SSO) | Menjalankan Kueri dan Mutasi di tingkat API | Izin Baca/Tulis yang sesuai yang diberikan kepada UPN di sumber data | GraphQL.Execute.All |
Perwakilan Layanan (SPN) | Akses menyeluruh (SSO) | Menjalankan Kueri dan Mutasi di tingkat API | Izin Baca/Tulis yang sesuai yang diberikan kepada SPN di sumber data | GraphQL.Execute.All |
Prinsipal Pengguna (UPN) | Kredensial tersimpan | Menjalankan Kueri dan Mutasi di tingkat API | Izin Baca/Tulis yang sesuai yang diberikan ke kredensial tersimpan (koneksi) di sumber data | GraphQL.Execute.All |
Perwakilan Layanan (SPN) | Kredensial tersimpan | Saat ini tidak didukung | Saat ini tidak didukung | Saat ini tidak didukung |