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.
API web pemeriksa Power Apps menyediakan mekanisme untuk menjalankan pemeriksaan analisis statis terhadap kustomisasi dan ekstensi ke platform Microsoft Dataverse. Pembuat dan pengembang dapat melakukan pemeriksaan analisis statis kaya pada solusi mereka terhadap rangkaian aturan praktik terbaik untuk dengan cepat mengidentifikasi pola masalah ini. Layanan ini menyediakan logika untuk fitur pemeriksa solusi di portal pembuat Power Apps dan disertakan sebagai bagian dari otomatisasi untuk aplikasi yang dikirimkan ke Marketplace. Berinteraksi dengan layanan secara langsung dengan cara ini memungkinkan analisis solusi yang disertakan sebagai bagian dari lingkungan lokal (semua versi yang didukung) dan lingkungan online.
Untuk informasi tentang cara menggunakan layanan pemeriksa dari kode PowerShell, lihat Bekerja dengan solusi menggunakan PowerShell.
Note
- Penggunaan pemeriksa Power Apps tidak menjamin bahwa impor solusi akan berhasil. Pemeriksaan analisis statis yang dilakukan terhadap solusi tidak mengetahui status dikonfigurasi dari lingkungan tujuan dan keberhasilan impor mungkin tergantung pada solusi atau konfigurasi lain di lingkungan.
Pendekatan alternatif
Sebelum membaca rincian tentang cara berinteraksi di tingkat terendah dengan API web, pertimbangkan untuk menggunakan modul PowerShell kami, Microsoft.PowerApps.Checker.PowerShell. Ini adalah alat yang didukung penuh yang tersedia di PowerShell Gallery. Pembatasan saat ini adalah bahwa itu memang memerlukan Windows PowerShell. Jika tidak dapat memenuhi persyaratan ini, maka berinteraksi dengan API secara langsung adalah pendekatan terbaik.
Memulai Langkah Pertama
Penting untuk dicatat bahwa analisis solusi dapat menghasilkan proses yang berjalan panjang. Biasanya dapat memerlukan waktu enam puluh (60) detik hingga lebih dari lima (5) menit tergantung pada berbagai faktor, seperti jumlah, ukuran, dan kompleksitas penyesuaian dan kode. Alur analisis adalah awal multi-langkah dan asinkron dengan memulai pekerjaan analisis dengan API status yang digunakan untuk kueri penyelesaian pekerjaan. Contoh alur untuk analisis adalah sebagai berikut:
- Mendapatkan token OAuth
- Upload panggilan (untuk setiap file secara paralel)
- Analisis panggilan (memprakarsai pekerjaan analisis)
- Status panggilan hingga selesai (looping dengan jeda di antara panggilan hingga akhir ditandai atau ambang batas terpenuhi)
- Unduh hasil dari URI SAS yang disediakan
Beberapa variasi adalah:
- Sertakan pencarian rangkaian aturan atau aturan sebagai pra-langkah. Namun, akan sedikit lebih cepat untuk memasukkan ID set aturan berkode keras yang telah dikonfigurasi. Disarankan agar Anda menggunakan ruleset yang memenuhi kebutuhan Anda.
- Anda dapat memilih untuk tidak menggunakan mekanisme Unggah (Lihat upload untuk batasan).
Anda harus menentukan persyaratan berikut:
Lihat artikel berikut untuk dokumentasi di setiap API:
Mengambil daftar set aturan
Mengambil daftar aturan
Mengunggah file
Memanggil analisis
Memeriksa status analisis
Tentukan geografi
Saat Anda berinteraksi dengan layanan pemeriksa Power Apps, file disimpan sementara di Azure bersama dengan laporan yang dihasilkan. Dengan menggunakan API khusus geografi, Anda dapat mengontrol lokasi penyimpanan data. Permintaan ke titik akhir geografi dirutekan ke instans kawasan berdasarkan performa terbaik (latensi pemohon). Setelah permintaan memasukkan instans Layanan Regional, semua pemrosesan dan data yang disimpan tetap berada di kawasan tersebut. Respons API tertentu akan mengembalikan URL instans regional untuk permintaan berikutnya setelah pekerjaan analisis dirutekan ke area tertentu. Setiap geografi mungkin memiliki versi layanan yang berbeda yang diterapkan pada titik waktu tertentu. Penggunaan versi layanan yang berbeda disebabkan oleh proses penyebaran aman multi-tahap, yang memastikan kompatibilitas versi penuh. Dengan demikian, geografi yang sama harus digunakan untuk setiap panggilan API di siklus hidup analisis dan dapat mengurangi waktu eksekusi keseluruhan karena data mungkin tidak harus melakukan perjalanan sejauh itu melalui kabel. Geografi yang tersedia adalah sebagai berikut:
| pusat data Azure | Nama | Geografi | URI dasar |
|---|---|---|---|
| Umum | Preview | Amerika Serikat | unitedstatesfirstrelease.api.advisor.powerapps.com |
| Umum | Produksi | Amerika Serikat | unitedstates.api.advisor.powerapps.com |
| Umum | Produksi | Eropa | europe.api.advisor.powerapps.com |
| Umum | Produksi | Asia | asia.api.advisor.powerapps.com |
| Umum | Produksi | Australia | australia.api.advisor.powerapps.com |
| Umum | Produksi | Jepang | japan.api.advisor.powerapps.com |
| Umum | Produksi | India | india.api.advisor.powerapps.com |
| Umum | Produksi | Kanada | canada.api.advisor.powerapps.com |
| Umum | Produksi | Amerika Selatan | southamerica.api.advisor.powerapps.com |
| Umum | Produksi | Inggris Raya | unitedkingdom.api.advisor.powerapps.com |
| Umum | Produksi | Prancis | france.api.advisor.powerapps.com |
| Umum | Produksi | Jerman | germany.api.advisor.powerapps.com |
| Umum | Produksi | Uni Emirat Arab | unitedarabemirates.api.advisor.powerapps.com |
| Umum | Produksi | Switzerland | switzerland.api.advisor.powerapps.com |
| Umum | Produksi | Afrika Selatan | southafrica.api.advisor.powerapps.com |
| Umum | Produksi | Korea Selatan | korea.api.advisor.powerapps.com |
| Umum | Produksi | Norwegia | norway.api.advisor.powerapps.com |
| Umum | Produksi | Singapura | singapore.api.advisor.powerapps.com |
| Umum | Produksi | Swedia | sweden.api.advisor.powerapps.com |
| Umum | Produksi | Polandia | poland.api.advisor.powerapps.com |
| Umum | Produksi | Italia | italy.api.advisor.powerapps.com |
| Umum | Produksi | Pemerintah AS | gov.api.advisor.powerapps.us |
| Umum | Produksi | Pemerintah AS L4 | high.api.advisor.powerapps.us |
| Umum | Produksi | Pemerintah AS L5 (DOD) | mil.api.advisor.appsplatform.us |
| Umum | Produksi | Tiongkok dioperasikan oleh 21Vianet | china.api.advisor.powerapps.cn |
Note
Anda dapat memilih menggunakan geografi pratinjau untuk menggabungkan fitur terbaru dan perubahan sebelumnya. Namun, perhatikan bahwa pratinjau hanya menggunakan wilayah Azure Amerika Serikat.
Penerapan versi
Meskipun tidak diperlukan, disarankan untuk menyertakan parameter string kueri versi api dengan versi API yang diinginkan. Versi API saat ini adalah 2.0 untuk set aturan, aturan, dan 1.0 untuk semua permintaan lainnya. Contohnya, set aturan berikut ini adalah permintaan HTTP yang menentukan untuk menggunakan versi API 2.0:
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=2.0
Jika tidak tersedia, versi API terbaru akan digunakan secara default. Disarankan menggunakan nomor versi eksplisit karena versi tersebut akan bertambah jika perubahan yang merusak diperkenalkan. Jika nomor versi ditentukan dalam permintaan, dukungan kompatibilitas mundur di versi lebih baru (numerik lebih besar) akan dipertahankan.
Set aturan dan aturan
pemeriksa Power Apps memerlukan daftar aturan saat dijalankan. Aturan ini dapat diberikan dalam bentuk aturan individual atau pengelompokan aturan, yang disebut sebagai ruleset. Ruleset adalah cara mudah untuk menentukan grup aturan daripada harus menentukan setiap aturan individual. Contohnya, fitur pemeriksa solusi menggunakan ruleset bernama Solution Checker. Saat aturan baru ditambahkan atau dihapus, layanan akan mencakup perubahan ini secara otomatis tanpa memerlukan perubahan apa pun oleh aplikasi yang mengonsumsi. Jika Anda memerlukan daftar aturan tidak berubah secara otomatis seperti yang dijelaskan di atas, maka aturan dapat ditentukan secara terpisah.
Ruleset dapat memiliki satu atau beberapa aturan tanpa batas. Aturan dapat berupa tanpa atau beberapa ruleset. Anda dapat memperoleh daftar semua aturan dengan memanggil API sebagai berikut: [Geographical URL]/api/ruleset. Titik akhir ini sekarang memerlukan autentikasi.
Set aturan Solution checker
Ruleset solution checker berisi seperangkat aturan yang berdampak yang memiliki peluang terbatas untuk positif palsu. Jika menjalankan analisis terhadap solusi yang ada, dianjurkan agar Anda memulai dengan set aturan ini. Ini adalah set aturan yang digunakan oleh fitur pemeriksa solusi.
Kumpulan aturan sertifikasi marketplace
Saat menerbitkan aplikasi di Marketplace, Anda harus mendapatkan sertifikasi aplikasi Anda. Aplikasi yang diterbitkan di Marketplace diperlukan untuk memenuhi standar kualitas tinggi. Seperangkat aturan sertifikasi Marketplace berisi aturan yang merupakan bagian dari seperangkat aturan pemeriksa solusi, ditambah aturan lain untuk memastikan hanya aplikasi berkualitas tinggi yang diterbitkan di toko. Beberapa aturan sertifikasi Marketplace lebih rentan terhadap deteksi positif palsu dan mungkin memerlukan lebih banyak perhatian dalam penyelesaiannya.
Temukan ID penyewa Anda
ID penyewa Anda diperlukan untuk berinteraksi dengan api yang memerlukan Token. Lihat artikel ini untuk rincian tentang cara mendapatkan id penyewa. Anda juga dapat menggunakan perintah PowerShell untuk mengambil ID penyewa. Contoh berikut menerapkan cmdlet dalam modul AzureAD.
# Login to Microsoft Entra ID as your user
Connect-AzureAD
# Establish your tenant ID
$tenantId = (Get-AzureADTenantDetail).ObjectId
ID penyewa adalah nilai properti ObjectId yang dihasilkan dari Get-AzureADTenantDetail. Anda juga dapat melihatnya setelah masuk menggunakan cmdlet Connect-AzureAD di output cmdlet. Dalam hal ini, akan diberi nama TenantId.
Autentikasi dan otorisasi
Mengajukan kueri aturan dan set aturan tidak memerlukan token OAuth, namun semua API lain memerlukan token tersebut. Api mendukung penemuan otorisasi dengan memanggil salah satu api yang memerlukan Token. Responsnya adalah kode status HTTP 401 yang tidak sah dengan header Autentikasi WWW, URI otorisasi, dan ID sumber daya. Anda juga harus menyediakan ID penyewa di header x-ms-tenant-id. Lihat autentikasi dan otorisasi pemeriksa Power Apps untuk informasi selengkapnya. Berikut ini adalah contoh dari header respons yang dihasilkan dari permintaan API:
WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"
Setelah Anda memiliki informasi ini, Anda dapat memilih untuk menggunakan Pustaka Autentikasi Microsoft (MSAL) atau beberapa mekanisme lain untuk memperoleh token. Berikut ini adalah contoh bagaimana hal ini dapat dilakukan menggunakan C# dan pustaka MSAL .NET:
// Substitute your own environment URL here.
string resource = "https://<env-name>.api.<region>.dynamics.com";
// Example Microsoft Entra app registration.
// For your custom apps, you will need to register them with Microsoft Entra ID yourself.
// See https://docs.microsoft.com/powerapps/developer/data-platform/walkthrough-register-app-azure-active-directory
var clientId = "51f81489-12ee-4a9e-aaae-a2591f45987d";
var redirectUri = "http://localhost"; // Loopback required for the interactive login.
var authBuilder = PublicClientApplicationBuilder.Create(clientId)
.WithAuthority(AadAuthorityAudience.AzureAdMultipleOrgs)
.WithRedirectUri(redirectUri)
.Build();
var scope = resource + "/.default";
string[] scopes = { scope };
AuthenticationResult tokenResult =
await authBuilder.AcquireTokenInteractive(scopes).ExecuteAsync();
Untuk kode kerja lengkap, lihat sampel QuickStartAPI Web.
Setelah memperoleh token, Anda disarankan untuk memberikan token yang sama ke panggilan berikutnya dalam siklus hidup permintaan. Namun, permintaan tambahan kemungkinan akan menjamin token baru diperoleh untuk alasan keamanan.
Keamanan transportasi
Untuk enkripsi terbaik di kelasnya, layanan pemeriksa hanya mendukung komunikasi menggunakan Transport Layer Security (TLS) 1.2 ke atas. Untuk panduan tentang praktik terbaik .NET terkait TLS, lihat praktik terbaik Transport Layer Security (TLS) dengan .NET Framework.
Format Laporan
Hasil analisis solusi adalah file zip yang berisi satu atau beberapa laporan dalam format JSON standar. Format laporan didasarkan pada hasil analisis statis yang disebut sebagai Static Analysis Results Interchange Format (SARIF). Tersedia alat bantu untuk menampilkan dan berinteraksi dengan dokumen SARIF. Untuk informasi lebih lanjut, lihat situs web ini. Layanan ini menggunakan versi dua dari OASIS standar.
Baca juga
Mengambil daftar set aturan
Mengambil daftar aturan
Mengunggah file
Memanggil analisis
Memeriksa status analisis