Gunakan API web penyemak Power Apps
API web penyemak Power Apps menyediakan mekanisme untuk menjalankan pemeriksaan analisis statik terhadap penyesuaian dan sambungan ke platform Microsoft Dataverse. Pembuat dan pembangun boleh melakukan pemeriksaan analisis statik yang kaya pada penyelesaian mereka terhadap satu set peraturan amalan terbaik untuk mengenal pasti corak bermasalah dengan cepat. Perkhidmatan ini menyediakan logik untuk ciri penyemak penyelesaian dalam pembuat Power Apps portal dan disertakan sebagai sebahagian daripada automasi untuk aplikasi yang diserahkan kepada AppSource. Berinteraksi dengan perkhidmatan secara langsung dengan cara ini membolehkan analisis penyelesaian yang disertakan sebagai sebahagian daripada persekitaran di premis (semua versi yang disokong) dan dalam talian.
Untuk maklumat tentang menggunakan perkhidmatan pemeriksa daripada kod PowerShell, rujuk Bekerja dengan penyelesaian menggunakan PowerShell.
Nota
- Penggunaan penyemak Power Apps tidak menjamin bahawa import penyelesaian akan berjaya. Semakan analisis statik yang dijalankan terhadap penyelesaian tidak tahu akan keadaan konfigurasi persekitaran destinasi dan kejayaan import mungkin bergantung pada penyelesaian atau konfigurasi lain dalam persekitaran.
Pendekatan alternatif
Sebelum membaca butiran tentang cara berinteraksi pada tahap terendah dengan API web, pertimbangkan untuk menggunakan modul PowerShell kami, Microsoft.PowerApps. Checker.PowerShell, sebaliknya. Ia merupakan alat yang disokong sepenuhnya yang tersedia dalam Galeri PowerShell. Sekatan semasa ialah ia memerlukan Windows PowerShell. Jika tidak dapat memenuhi keperluan ini, maka berinteraksi dengan API secara langsung ialah pendekatan terbaik.
Untuk Bermula
Adalah penting untuk ambil perhatian bahawa analisis penyelesaian boleh menghasilkan proses yang berjalan lama. Ia biasanya boleh mengambil masa enam puluh (60) saat hingga lebih daripada lima (5) minit bergantung pada pelbagai faktor, seperti bilangan, saiz dan kerumitan penyesuaian dan kod. Aliran analisis adalah berbilang langkah dan tidak segerak, bermula dengan memulakan kerja analisis dengan API status digunakan untuk pertanyaan untuk menyelesaikan kerja. Aliran contoh untuk analisis adalah seperti berikut:
- Dapatkan OAuth token
- Muat naik panggilan (untuk setiap fail secara selari)
- Analisis panggilan (memulakan kerja analisis)
- Status panggilan sehingga selesai (penggelungan dengan berhenti seketika di antara panggilan sehingga penamat selesai atau ambang dipenuhi)
- Muat turun hasil daripada URI SAS yang disediakan
Beberapa variasi ialah:
- Sertakan pencarian ruleset atau peraturan sebagai pralangkah. Walau bagaimanapun, adalah lebih cepat sedikit untuk memasukkan ID ruleset yang dikonfigurasikan atau berkod keras. Anda disyorkan supaya menggunakan ruleset yang memenuhi keperluan anda.
- Anda boleh memilih untuk tidak menggunakan mekanisme muat naik (lihat muat naik untuk pengehadan).
Anda perlu menentukan keperluan berikut:
Rujuk artikel berikut untuk dokumentasi mengenai API individu:
Dapatkan semula senarai set peraturan
Dapatkan semula senarai peraturan
Muat naik fail
Memanggil analisis
Semak status analisis
Menentukan geografi
Apabila anda berinteraksi dengan Power Apps perkhidmatan pemeriksa, fail disimpan buat sementara waktu dalam Azure bersama-sama dengan laporan yang dijana. Dengan menggunakan API khusus geografi, anda boleh mengawal tempat data disimpan. Permintaan kepada titik tamat geografi dihalakan kepada tika serantau berdasarkan prestasi terbaik (kependaman kepada peminta). Selepas permintaan memasuki tika perkhidmatan serantau, semua data pemprosesan dan tetap kekal dalam rantau khusus tersebut. Respons API tertentu mengembalikan URL contoh serantau untuk permintaan berikutnya sebaik sahaja kerja analisis dihalakan ke rantau tertentu. Setiap geografi mungkin mempunyai versi perkhidmatan yang berbeza yang digunakan pada bila-bila masa tertentu. Penggunaan versi perkhidmatan yang berbeza adalah disebabkan oleh proses penggunaan selamat berbilang peringkat, yang memastikan keserasian versi penuh. Oleh itu, geografi yang sama harus digunakan untuk setiap panggilan API dalam kitaran hayat analisis dan mungkin mengurangkan masa pelaksanaan keseluruhan kerana data mungkin tidak perlu dialihkan jauh pada kawat. Berikut adalah geografi yang tersedia:
Pusat data Azure | Nama | Geografi | URI asas |
---|---|---|---|
Awam | Pratonton | Amerika Syarikat | unitedstatesfirstrelease.api.advisor.powerapps.com |
Awam | Penerbitan | Amerika Syarikat | unitedstates.api.advisor.powerapps.com |
Awam | Penerbitan | Eropah | europe.api.advisor.powerapps.com |
Awam | Penerbitan | Asia | asia.api.advisor.powerapps.com |
Awam | Penerbitan | Australia | australia.api.advisor.powerapps.com |
Awam | Penerbitan | Jepun | japan.api.advisor.powerapps.com |
Awam | Penerbitan | India | india.api.advisor.powerapps.com |
Awam | Penerbitan | Kanada | canada.api.advisor.powerapps.com |
Awam | Penerbitan | Amerika Selatan | southamerica.api.advisor.powerapps.com |
Awam | Penerbitan | United Kingdom | unitedkingdom.api.advisor.powerapps.com |
Awam | Penerbitan | Perancis | france.api.advisor.powerapps.com |
Awam | Penerbitan | Jerman | germany.api.advisor.powerapps.com |
Awam | Penerbitan | Emiriah Arab Bersatu | unitedarabemirates.api.advisor.powerapps.com |
Awam | Penerbitan | Switzerland | switzerland.api.advisor.powerapps.com |
Awam | Penerbitan | Afrika Selatan | southafrica.api.advisor.powerapps.com |
Awam | Penerbitan | Korea Selatan | korea.api.advisor.powerapps.com |
Awam | Penerbitan | Norway | norway.api.advisor.powerapps.com |
Awam | Penerbitan | Singapura | singapore.api.advisor.powerapps.com |
Awam | Penerbitan | Sweden | sweden.api.advisor.powerapps.com |
Awam | Penerbitan | US Government | gov.api.advisor.powerapps.us |
Awam | Penerbitan | Kerajaan AS L4 | high.api.advisor.powerapps.us |
Awam | Penerbitan | Kerajaan AS L5 (DOD) | mil.api.advisor.appsplatform.us |
Awam | Penerbitan | China dikendalikan oleh 21Vianet | china.api.advisor.powerapps.cn |
Nota
Anda boleh memilih untuk menggunakan geografi pratonton bagi menggabungkan ciri terbaharu dan perubahan sebelum ini. Walau bagaimanapun, sila ambil perhatian bahawa pratonton menggunakan rantau Azure Amerika Syarikat sahaja.
Pemversian
Walaupun tidak diperlukan, anda disyorkan untuk memasukkan parameter rentetan pertanyaan versi api dengan versi API yang dikehendaki. Versi API semasa ialah 2.0 untuk set peraturan dan peraturan dan 1.0 untuk semua permintaan lain. Sebagai contoh, set peraturan berikut ialah permintaan HTTP yang menentukan untuk menggunakan versi API 2.0:
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=2.0
Jika tidak disediakan, versi API terkini digunakan secara lalai. Menggunakan nombor versi eksplisit disyorkan kerana versi ditingkatkan jika perubahan pecah diperkenalkan. Jika nombor versi ditetapkan dalam permintaan, sokongan keserasian ke belakang dalam versi baharu (yang lebih luas) akan dikekalkan.
Ruleset dan peraturan
Penyemak Power Apps memerlukan senarai peraturan apabila dijalankan. Peraturan ini boleh diberikan dalam bentuk peraturan individu atau kumpulan peraturan, dirujuk sebagai ruleset. Ruleset ialah cara mudah untuk menentukan sekumpulan peraturan daripada perlu menentukan setiap peraturan secara individu. Contohnya, ciri penyemak penyelesaian menggunakan ruleset yang dinamakan Penyemak Penyelesaian. Apabila peraturan baharu ditambah atau dikeluarkan, perkhidmatan termasuk perubahan ini secara automatik tanpa memerlukan sebarang perubahan oleh aplikasi yang digunakan. Jika anda mahu senarai peraturan tidak berubah secara automatik seperti yang dijelaskan di atas, maka peraturan tersebut boleh ditentukan secara individu.
Ruleset boleh mempunyai satu atau lebih peraturan tanpa had. Peraturan boleh tiada dalam ruleset atau berada dalam beberapa ruleset. Anda boleh mendapatkan senarai semua ruleset dengan memanggil API seperti berikut: [Geographical URL]/api/ruleset
. Titik akhir ini kini memerlukan pengesahan.
Ruleset penyemak penyelesaian
Ruleset penyemak penyelesaian mengandungi satu set peraturan yang memberikan kesan yang besar yang mempunyai peluang terhad untuk positif palsu. Jika menjalankan analisis terhadap penyelesaian sedia ada, anda disyorkan untuk bermula dengan set peraturan ini. Set peraturan ini digunakan oleh ciri penyemak penyelesaian.
Ruleset pensijilan AppSource
Apabila menerbitkan aplikasi pada AppSource, anda mesti mengesahkan permohonan anda. Permohonan yang diterbitkan dikehendaki AppSource memenuhi standard kualiti yang tinggi. Set AppSource peraturan pensijilan mengandungi peraturan yang merupakan sebahagian daripada set peraturan penyemak penyelesaian, serta peraturan lain untuk memastikan hanya aplikasi berkualiti tinggi diterbitkan di kedai. Sesetengah AppSource peraturan pensijilan lebih terdedah kepada positif palsu dan mungkin memerlukan lebih banyak perhatian untuk menyelesaikannya.
Cari ID penyewa anda
ID penyewa anda diperlukan untuk berinteraksi dengan API yang memerlukan token. Rujuk kepada artikel ini untuk mendapatkan butiran tentang cara mendapatkan ID penyewa. Anda juga boleh menggunakan perintah PowerShell untuk mendapatkan semula ID penyewa. Contoh berikut menggunakan cmdlet dalam modul AzureAD.
# Login to Microsoft Entra ID as your user
Connect-AzureAD
# Establish your tenant ID
$tenantId = (Get-AzureADTenantDetail).ObjectId
ID penyewa ialah nilai bagi sifat ObjectId
yang dikembalikan daripada Get-AzureADTenantDetail
. Anda juga boleh melihatnya selepas log masuk menggunakan cmdlet Connect-AzureAD dalam output cmdlet. Dalam kes ini, ia akan dinamakan TenantId
.
Pengesahan dan kebenaran
Menanyakan peraturan dan set peraturan tidak memerlukan OAuth token, tetapi semua API lain memerlukan token. API menyokong penemuan kebenaran dengan memanggil mana-mana API yang memerlukan token. Respons ialah kod status HTTP 401 yang tidak dibenarkan dengan pengepala WWW-Authenticate, URI kebenaran dan ID sumber. Anda juga perlu memberikan ID penyewa anda dalam pengepala x-ms-tenant-id
. Rujuk pengesahan Power Apps dan kebenaran Pemeriksa untuk maklumat lanjut. Berikut ialah contoh pengepala respons yang dikembalikan daripada permintaan API:
WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"
Sebaik sahaja anda mempunyai maklumat ini, anda boleh memilih untuk menggunakan Microsoft Pustaka Pengesahan (MSAL) atau beberapa mekanisme lain untuk memperoleh token. Berikut ialah contoh cara ini boleh 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 kod kerja penuh, lihat contoh Permulaan Pantas API Web.
Sebaik sahaja anda telah memperoleh token, anda dinasihatkan agar memberikan token yang sama kepada panggilan berikutnya dalam kitaran hayat permintaan. Walau bagaimanapun, lebih banyak permintaan mungkin memerlukan token baharu diperoleh atas sebab keselamatan.
Keselamatan pengangkutan
Untuk penyulitan terbaik dalam kelasnya, perkhidmatan penyemak hanya menyokong komunikasi menggunakan Keselamatan Lapisan Pengangkutan (TLS) 1.2 dan lebih tinggi. Untuk panduan tentang amalan terbaik .NET di sekitar TLS, rujuk pada Amalan terbaik Keselamatan Lapisan Pengangkutan (TLS) dengan .NET Framework.
Format laporan
Hasil analisis penyelesaian ialah fail zip yang mengandungi satu atau lebih laporan dalam format JSON yang dipiawaikan. Format laporan adalah berdasarkan keputusan analisis statik yang dirujuk sebagai Format Penukaran Hasil Analisis Statik (SARIF). Terdapat alat yang tersedia untuk melihat dan berinteraksi dengan dokumen SARIF. Rujuk pada laman web ini untuk butiran. Perkhidmatan ini menggunakan versi dua standard OASIS.
Lihat juga
Dapatkan semula senarai set peraturan
Dapatkan semula senarai peraturan
Muat naik fail
Memanggil analisis
Semak status analisis