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.
Menghubungkan aplikasi ke API Fabric untuk GraphQL memungkinkan aplikasi web, seluler, dan backend Anda untuk mengkueri sumber data Fabric menggunakan API modern dan efisien. Integrasi ini memerlukan autentikasi yang tepat melalui ID Microsoft Entra dan konfigurasi aplikasi Anda untuk memanggil titik akhir GraphQL dengan aman.
Artikel ini memandu Anda menyambungkan aplikasi React ke Fabric GraphQL API dengan:
- Membuat dan mengonfigurasi aplikasi Microsoft Entra untuk autentikasi
- Menyiapkan sampel GraphQL API di Fabric dengan data untuk dikueri
- Mengkloning dan mengonfigurasi aplikasi React lengkap dari GitHub
- Menguji koneksi yang diautentikasi
Tutorial ini menggunakan React, tetapi konsep autentikasi berlaku untuk bahasa apa pun. Untuk sampel dalam C#, Python, atau bahasa lain, lihat repositori GitHub Sampel Microsoft Fabric.
Siapa yang perlu menghubungkan aplikasi
Penyiapan koneksi aplikasi sangat penting untuk:
- Pengembang web dan seluler membangun aplikasi yang mengonsumsi data dari fabric lakehouse dan gudang data.
- Pengembang integrasi yang menghubungkan data Fabric ke aplikasi kustom dan alur kerja otomatis
- Pengembang backend membuat layanan yang terintegrasi dengan platform analitik terpadu Fabric
- Teknisi data menyiapkan alur kerja pemrosesan data otomatis yang menggunakan data Fabric melalui API
Gunakan panduan ini saat Anda perlu mengautentikasi dan mengotorisasi aplikasi untuk mengakses FABRIC GraphQL API Anda.
Prasyarat
Alat pengembangan: Anda memerlukan Node.js (versi LTS) dan Visual Studio Code yang terinstal di komputer Anda.
Sebelum menyambungkan aplikasi, pastikan Anda memiliki API untuk GraphQL di Fabric. Untuk informasi selengkapnya, lihat Membuat API untuk GraphQL di Fabric dan menambahkan data.
API untuk GraphQL mengharuskan aplikasi menggunakan Microsoft Entra untuk autentikasi. Daftarkan dan konfigurasikan aplikasi Anda untuk melakukan panggilan API terhadap Fabric. Untuk informasi selengkapnya, lihat Membuat aplikasi Microsoft Entra di Azure.
Kredensial terautentikasi (prinsipal pengguna, perwakilan layanan, atau identitas terkelola) yang memanggil API memerlukan izin Eksekusi untuk API GraphQL (opsi Menjalankan Kueri dan Mutasi saat menambahkan izin akses langsung). Jika menggunakan single sign-on (SSO) sebagai opsi konektivitas di API, pastikan kredensial memiliki izin baca atau tulis di sumber data yang dipilih. Untuk informasi selengkapnya, lihat Menyambungkan ke sumber data dan membangun skema Anda.
Ringkasan autentikasi dan izin
Akses ke API GraphQL memerlukan autentikasi dan otorisasi yang tepat di tingkat API dan tingkat sumber data yang mendasar. Anda dapat mengautentikasi menggunakan perwakilan pengguna (mewakili pengguna individual) atau perwakilan layanan (mewakili aplikasi atau layanan). Untuk konektivitas sumber data, Anda dapat menggunakan akses menyeluruh (SSO) tempat identitas penelepon diteruskan ke sumber data, atau kredensial tersimpan tempat koneksi yang telah dikonfigurasi sebelumnya digunakan.
Tabel berikut ini meringkas berbagai skenario autentikasi 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 Microsoft Entra |
|---|---|---|---|---|
| Prinsipal Pengguna (UPN) | Sistem masuk tunggal (SSO) | Menjalankan Kueri dan Mutasi di tingkat API | Izin Baca/Tulis yang sesuai yang diberikan kepada UPN di sumber data | GraphQLApi.Execute.All |
| Perwakilan Layanan (SPN) | Sistem masuk tunggal (SSO) | Menjalankan Kueri dan Mutasi di tingkat API | Izin Baca/Tulis yang sesuai yang diberikan kepada SPN di sumber data | Tidak Berlaku |
| 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 | GraphQLApi.Execute.All |
| Perwakilan Layanan (SPN) | Kredensial tersimpan | Menjalankan Kueri dan Mutasi di tingkat API | Izin Baca/Tulis yang sesuai yang diberikan kepada SPN di sumber data | Tidak Berlaku |
Membuat aplikasi Microsoft Entra
Sebelum aplikasi Anda dapat memanggil Fabric GraphQL API, Anda harus mendaftarkannya di MICROSOFT Entra ID. Pendaftaran ini membuat identitas untuk aplikasi Anda dan menentukan izin apa yang dibutuhkannya. Proses pendaftaran menghasilkan ID Klien (pengidentifikasi aplikasi) dan menetapkan alur autentikasi yang digunakan aplikasi Anda untuk mendapatkan token akses.
Untuk aplikasi React, Anda mengonfigurasi pengaturan aplikasi halaman tunggal (SPA) yang menggunakan alur PKCE—metode autentikasi aman yang dirancang untuk aplikasi berbasis browser di mana rahasia klien tidak dapat disimpan dengan aman.
Daftarkan aplikasi menggunakan langkah-langkah yang dijelaskan pada Panduan Memulai Cepat : Daftarkan aplikasi dengan platform identitas Microsoft.
Nilai ID Aplikasi Microsoft Entra (klien) dan ID Direktori (penyewa) muncul di kotak Ringkasan. Rekam nilai-nilai ini karena Anda membutuhkannya saat mengonfigurasi aplikasi React.
Konfigurasikan izin API sehingga aplikasi Anda dapat mengakses Fabric GraphQL API. Di bawah daftar Kelola
, pilih izin API , lalu Tambahkan izin .Tambahkan Layanan PowerBI, pilih Izin yang didelegasikan, dan pilih izin GraphQLApi.Execute.All . Izin ini memungkinkan aplikasi Anda untuk menjalankan kueri dan mutasi atas nama pengguna yang masuk. Konfirmasikan bahwa persetujuan admin tidak diperlukan.
Kembali ke daftar Kelola, pilih Autentikasi> Tambahkanaplikasi satu halaman>.
Untuk tujuan pengembangan lokal, tambahkan
http://localhost:3000di bawah URI Pengalihan dan konfirmasikan bahwa aplikasi diaktifkan untuk alur kode otorisasi dengan Proof Key for Code Exchange (PKCE). Pilih tombol Konfigurasi untuk menyimpan perubahan Anda. Jika aplikasi mengalami kesalahan yang terkait dengan permintaan lintas asal, tambahkan platform Aplikasi seluler dan desktop di langkah sebelumnya dengan URI pengalihan yang sama.Kembali ke Autentikasi, gulir ke bawah ke Pengaturan Tingkat Lanjut dan, di bawah Izinkan alur klien publik, pilih Ya untuk Mengaktifkan alur seluler dan desktop berikut.
Menyiapkan sampel GraphQL API untuk akses aplikasi
Dengan aplikasi Microsoft Entra Anda terdaftar, Anda memerlukan API GraphQL di Fabric untuk melakukan query. Bagian ini menuntun Anda membuat API contoh menggunakan set data hari libur umum Fabric. Ini memberi Anda API yang berfungsi untuk menguji autentikasi dan pengambilan data tanpa perlu mengonfigurasi sumber data Anda sendiri.
API sampel memaparkan data hari libur dari tabel Lakehouse, yang dikueri aplikasi React Anda untuk menampilkan hari libur umum.
Dari beranda portal Fabric, pilih Rekayasa Data dari daftar beban kerja.
Dalam pengalaman Rekayasa Data, pilih Gunakan sampel, dan di bawah Lakehouse, pilih Hari libur umum untuk membuat Lakehouse baru secara otomatis dengan data hari libur umum.
Ikuti langkah-langkah dari Buat API untuk GraphQL untuk membuat API GraphQL baru dan pilih Lakehouse yang Anda buat. Tambahkan tabel hari libur nasional sehingga klien dapat mengakses data ini.
Sebelum membuat aplikasi React, verifikasi bahwa API Anda berfungsi dengan benar dengan mengujinya di editor API. Gunakan kueri berikut—ini adalah kueri yang sama yang dijalankan aplikasi React Anda nanti:
query { publicholidays (filter: {countryRegionCode: {eq:"US"}, date: {gte: "2024-01-01T00:00:00.000Z", lte: "2024-12-31T00:00:00.000Z"}}) { items { countryOrRegion holidayName date } } }Pilih Salin titik akhir pada toolbar item API.
Di layar Salin tautan, pilih Salin.
Rekam ID Klien dan ID Penyewa dari aplikasi Microsoft Entra dan URI titik akhir. Anda memerlukan nilai-nilai ini saat mengonfigurasi aplikasi React.
Mengkloning dan mengonfigurasi aplikasi React
Setelah menyiapkan aplikasi Microsoft Entra dan GraphQL API, Anda dapat mengonfigurasi aplikasi React untuk menyambungkannya. Aplikasi ini menggunakan Microsoft Authentication Library (MSAL) untuk menangani autentikasi dan membuat permintaan GraphQL dengan token Pembawa.
Kloning repositori sampel dari GitHub:
git clone https://github.com/microsoft/fabric-samples.gitNavigasikan ke folder aplikasi React:
cd fabric-samples/docs-samples/data-engineering/GraphQL/ReactFolder berisi aplikasi React lengkap. Anda hanya perlu mengedit
src/authConfig.jsuntuk mengonfigurasi titik akhir dan kredensial spesifik Anda.Buka proyek di editor kode Anda:
code .Di editor Anda, navigasikan ke
srcfolder dan bukaauthConfig.js.Ganti nilai placeholder berikut dengan detail spesifik Anda:
-
Enter_the_GraphQL_Endpoint_Here- Ganti dengan titik akhir GraphQL API Anda dari Menyiapkan sampel API GraphQL untuk akses aplikasi -
Enter_the_Application_Id_Here- Ganti dengan ID Aplikasi (klien) Anda dari Buat aplikasi Microsoft Entra -
Enter_the_Tenant_Info_Here- Ganti dengan ID Direktori (penyewa) Anda dari Buat aplikasi Microsoft Entra
Penting
Dalam file yang sama, konstanta
loginRequestmencakup cakupanhttps://analysis.windows.net/powerbi/api/GraphQLApi.Execute.All. Cakupan yang tepat ini diperlukan untuk mengakses FABRIC GraphQL API. Jangan hapus atau ubah cakupan ini; jika tidak, autentikasi gagal.-
Simpan file.
Di terminal Anda, navigasikan ke folder akar proyek dan jalankan:
npm installIni menginstal semua dependensi yang diperlukan.
Uji aplikasi
Dengan aplikasi yang dikonfigurasi, jalankan secara lokal untuk memverifikasi semuanya berfungsi dengan benar:
Di terminal Anda, jalankan:
npm startPerintah ini memulai server pengembangan dan membuka aplikasi di browser Anda.
Selesaikan alur autentikasi saat aplikasi dimuat di
http://localhost:3000. Ikuti langkah-langkah masuk yang dijelaskan di bagian tutorial Panggil API dari aplikasi.Setelah berhasil masuk, pilih tombol Query Fabric API untuk Data GraphQL . Ini memicu alur autentikasi, memperoleh token akses, dan menjalankan kueri GraphQL terhadap FABRIC API Anda.
Jika semuanya dikonfigurasi dengan benar, aplikasi akan menampilkan hari libur umum dalam tabel. Ini mengonfirmasi bahwa:
- Aplikasi Microsoft Entra Anda memiliki izin yang benar
- Token akses berhasil diperoleh
- API GraphQL mengautentikasi permintaan
- Kueri yang dijalankan terhadap data Lakehouse
Perintah npm lainnya
Selain npm start dan npm install, Anda dapat menggunakan perintah npm umum ini untuk skenario pengembangan yang berbeda:
-
npm run dev- Cara alternatif untuk memulai server pengembangan -
npm run build- Membuat build produksi yang dioptimalkan dari aplikasi Anda -
npm run preview- Uji build produksi secara lokal sebelum menyebarkan -
npm test- Jalankan pengujian otomatis untuk memverifikasi bahwa kode Anda berfungsi dengan benar
Konten terkait
Sekarang setelah Anda memiliki aplikasi kerja yang terhubung ke Fabric GraphQL API Anda, jelajahi sumber daya ini untuk membangun solusi yang lebih canggih:
- Membuat API untuk GraphQL di Fabric dan menambahkan data - Pelajari cara mengekspos sumber data Anda sendiri
- Mengkueri beberapa sumber data di Fabric API untuk GraphQL - Menggabungkan data dari sumber yang berbeda dalam satu kueri
- Fabric API untuk editor GraphQL - Menguji dan mengembangkan kueri secara interaktif
- Membuat aplikasi Microsoft Entra di Azure - Panduan terperinci untuk pendaftaran aplikasi produksi
- Sampel Microsoft Fabric GraphQL - Menelusuri sampel dalam beberapa bahasa