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. Ia tersedia untuk pembuat dan pemaju melakukan semakan analisis statik pada penyelesaian mereka terhadap satu set peraturan amalan terbaik untuk dengan cepat mengenal pasti corak yang menimbulkan masalah ini. 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 ini 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 penyemak daripada kod PowerShell, lihat 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 sehingga habis butiran tentang cara untuk berinteraksi di peringkat paling rendah dengan API web, pertimbangkan untuk memanfaatkan modul PowerShell kami, Microsoft.PowerApps.Checker.PowerShell. 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 mungkin adalah pendekatan yang terbaik.
Mari bermula
Penting untuk mengambil perhatian bahawa analisis penyelesaian boleh menyebabkan perjalanan proses yang panjang. Ia biasanya boleh mengambil masa 60 saat hingga ke 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 token OAuth
- 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 perkara berikut:
Rujuk topik berikut untuk dokumentasi pada API individu:
Dapatkan semula senarai set peraturan
Dapatkan semula senarai peraturan
Muat Naik fail
Gunakan analisis
Semak status analisis
Menentukan geografi
Apabila berinteraksi dengan perkhidmatan penyemak Power Apps, fail disimpan buat sementara dalam Azure bersama 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. Sesetengah API tertentu akan mengembalikan URL tika serantau untuk permintaan berikutan selepas kerja analisis dihalakan kepada rantau khusus. Ambil perhatian bahawa setiap geografi mungkin mempunyai versi perkhidmatan berbeza yang dilaksanakan pada bila-bila titik masa disebabkan proses pelaksanaan 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 | 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, adalah disyorkan untuk menyertakan parameter rentetan pertanyaan versi api dengan versi API yang diingini. Versi API semasa ialah 1.0. Sebagai contoh, di bawah ialah permintaan HTTP ruleset yang menentukan untuk menggunakan versi API 1.0:
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=1.0
Jika tidak disediakan, versi API terkini akan digunakan secara lalai. Menggunakan nombor versi yang jelas adalah disyorkan kerana versi tersebut akan ditambah jika perubahan yang merosakkan 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 ditambahkan atau dialih keluar, perkhidmatan akan memasukkan perubahan ini secara automatik tanpa memerlukan sebarang perubahan oleh aplikasi yang menggunakannya. 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 tamat ini terbuka dan tidak 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, adalah disyorkan supaya anda mulakan dengan ruleset ini. Ini ialah ruleset yang digunakan oleh ciri penyemak penyelesaian.
Ruleset pensijilan AppSource
Apabila menerbitkan aplikasi pada AppSource, anda mesti mengesahkan permohonan anda. Aplikasi yang diterbitkan di AppSource diperlukan untuk memenuhi standard kualiti yang tinggi. Ruleset persijilan AppSource mengandungi peraturan yang merupakan sebahagian daripada ruleset penyemak penyelesaian, selain daripada peraturan tambahan bagi memastikan hanya aplikasi berkualiti tinggi diterbitkan di kedai. Sesetengah peraturan persijilan AppSource adalah lebih terdedah kepada positif palsu dan mungkin memerlukan perhatian tambahan untuk diselesaikan.
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 memanfaatkan cmdlets dalam modul AzureAD.
# Login to AAD 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
Pertanyaan untuk peraturan dan ruleset tidak memerlukan token OAuth, tetapi semua API lain memerlukan token. API menyokong penemuan kebenaran dengan memanggil mana-mana API yang memerlukan token. Respons tersebut ialah kod status HTTP yang tidak sah bagi 401 dengan tajuk WWW-Authenticate, URI kebenaran dan ID sumber. Anda juga perlu memberikan ID penyewa anda dalam pengepala x-ms-tenant-id. Rujuk pada Pengesahan dan kebenaran penyemak Power Apps untuk mendapatkan 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 mendapat maklumat ini, anda boleh memilih untuk menggunakan Pustaka Pengesahan Azure Active Directory (ADAL) atau beberapa mekanisme lain untuk mendapatkan token tersebut. Berikut adalah contoh cara ini boleh dilakukan dengan menggunakan C# dan Pustaka ADAL, versi 4.5.1:
// Call the status URI as it is the most appropriate to use with a GET.
// The GUID here is just random, but needs to be there.
Uri queryUri = new Uri($"{targetServiceUrl}/api/status/4799049A-E623-4B2A-818A-3A674E106DE5");
AuthenticationParameters authParams = null;
using (var client = new HttpClient())
{
var request = new HttpRequestMessage(HttpMethod.Get, queryUri);
request.Headers.Add("x-ms-tenant-id", tenantId.ToString());
// NOTE - It is highly recommended to use async/await
using (var response = client.SendAsync(request).GetAwaiter().GetResult())
{
if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
// NOTE - It is highly recommended to use async/await
authParams = AuthenticationParameters.CreateFromUnauthorizedResponseAsync(response).GetAwaiter().GetResult();
}
else
{
throw new Exception($"Unable to connect to the service for authorization information. {response.ReasonPhrase}");
}
}
}
Setelah anda memperoleh token, disarankan agar anda memberikan token yang sama kepada panggilan berikutnya dalam kitaran hayat permintaan. Walau bagaimanapun, permintaan tambahan 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 ke atas. 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 memanfaatkan versi dua piawaian OASIS.
Lihat juga
Dapatkan semula senarai set peraturan
Dapatkan semula senarai peraturan
Muat Naik fail
Gunakan analisis
Semak status analisis
Nota
Adakah anda boleh memberitahu kami tentang keutamaan bahasa dokumentasi anda? Jawab tinjauan pendek. (harap maklum bahawa tinjauan ini dalam bahasa Inggeris)
Tinjauan akan mengambil masa lebih kurang tujuh minit. Tiada data peribadi akan dikumpulkan (pernyataan privasi).
Maklum balas
Kirim dan lihat maklum balas untuk