Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Power Apps pārbaudītāja tīmekļa API nodrošina mehānismu, lai veiktu statiskās analīzes pārbaudes attiecībā uz Microsoft Dataverse platformas pielāgojumiem un paplašinājumiem. Veidotājiem un izstrādājiem ir iespējams veikt bagātinātas statiskās analīzes pārbaudes saviem risinājumiem salīdzinājumā ar labākās prakses noteikumu kopumu, lai ātri identificētu problemātiskus modeļus. Pakalpojums nodrošina risinājumu pārbaudītāja līdzekļa loģiku Power Apps veidotājā portal un ir iekļauts kā daļa no automatizācijas lietojumprogrammām, kas iesniegtas Marketplace. Šādā veidā tieša mijiedarbība ar pakalpojumu ļauj analizēt risinājumus, kas ir iekļauti lokālajās (visas atbalstītās versijas) un tiešsaistes vidēs.
Informāciju par pārbaudītāja pakalpojuma izmantošanu no PowerShell koda skatiet sadaļā Darbs ar risinājumiem, izmantojot PowerShell.
Piezīmes
- Power Apps pārbaudītāja izmantošana negarantē, ka risinājuma importēšana būs veiksmīga. Ar risinājumu veiktās statiskās analīzes pārbaudes nezina mērķa vides konfigurēto stāvokli, un importēšanas panākumi var būt atkarīgi no citiem risinājumiem vai konfigurācijām vidē.
Alternatīvas pieejas
Pirms izlasīt detalizētu informāciju par to, kā mijiedarboties zemākajā līmenī ar tīmekļa API, apsveriet iespēju izmantot mūsu PowerShell moduli Microsoft.PowerApps. Tā vietā Checker.PowerShell. Tas ir pilnībā atbalstīts rīks, kas ir pieejams PowerShell Gallery. Pašreizējais ierobežojums ir tāds, ka tam ir nepieciešama Windows PowerShell. Ja nevarat izpildīt šo prasību, labākā pieeja ir tieši mijiedarbība ar API.
Darba sākšana
Ir svarīgi ņemt vērā, ka risinājuma analīze var izraisīt ilgstošu procesu. Parasti tas var aizņemt sešdesmit (60) sekundes līdz vairāk nekā piecām (5) minūtēm atkarībā no dažādiem faktoriem, piemēram, pielāgojumu un koda skaita, lieluma un sarežģītības. Analīzes plūsma ir daudzpakāpju un asinhrona, sākot ar analīzes darba sākšanu ar statusa API izmantošanu vaicājumam par darba pabeigšanu. Piemēram, plūsma analīzei ir šāda:
- Iegādājieties marķieru OAuth
- Izsaukumu augšupielāde (katram failam paralēli)
- Izsaukuma analīze (sāk analīzes uzdevumu)
- Izsaukuma statuss līdz pabeigšanai (cilpošana ar pauzi starp izsaukumiem, līdz tiek signalizēts par beigām vai tiek ievēroti sliekšņi)
- Lejupielādēt rezultātus no nodrošinātā SAS URI
Dažas variācijas ir šādas:
- Iekļaujiet kārtulu kopas vai kārtulu uzmeklēšanu kā iepriekšēju darbību. Tomēr būtu nedaudz ātrāk nodot konfigurēto vai cieto kodēto kārtulu kopas ID. Ieteicams lietot kārtulu kopu, kas atbilst jūsu vajadzībām.
- Varat izvēlēties nelietot augšupielādes mehānismu (sk. ierobežojumu augšupielāde).
Jums jānosaka šādas prasības:
Dokumentāciju par atsevišķām API skatiet tālāk norādītajos rakstos.
Noteikumu kopu saraksta izgūšana
Kārtulu saraksta izgūšana
Faila augšupielāde
Analīzes izsaukšana
Analīzes statusa pārbaude
Noteikt ģeogrāfiju
Mijiedarbojoties ar Power Apps pārbaudītāja pakalpojumu, faili tiek īslaicīgi glabāti Azure kopā ar ģenerētajām atskaitēm. Lietojot ģeogrāfijai specifisku API, ir iespējams kontrolēt, kur tiek glabāti dati. Pieprasījumi uz ģeogrāfisku galapunktu tiek maršrutēti uz reģionālo instanci, pamatojoties uz labāko veiktspēju (latentums uz pieprasītāju). Tiklīdz pieprasījums nonāk reģionālā pakalpojuma instancē, visi apstrādes un pastāvīgie dati paliek attiecīgajā apgabalā. Noteiktas API atbildes atgriež reģionālos instances URL nākamajiem pieprasījumiem, kad analīzes darbs tiek maršrutēts uz konkrētu reģionu. Katrai ģeogrāfiskajai atrašanās vietai jebkurā brīdī var būt atšķirīga pakalpojuma versija. Dažādu pakalpojumu versiju izmantošana ir saistīta ar daudzpakāpju drošu izvietošanas procesu, kas nodrošina pilnīgu versiju saderību. Tādējādi katram API izsaukumam analīzes dzīves ciklā jāizmanto viena un tā pati ģeogrāfija un var samazināties vispārējais izpildes laiks, jo datiem, iespējams, nav jāpārvietojas tik tālu pa vadam. Ir pieejamas sekojošās ģeogrāfijas:
| Azure datu centrs | Vārds, uzvārds | Ģeogrāfiskais apgabals | Pamata URI |
|---|---|---|---|
| Publisks | Priekšskatīt | Amerikas Savienotās Valstis | unitedstatesfirstrelease.api.advisor.powerapps.com |
| Publisks | Ražošana | Amerikas Savienotās Valstis | unitedstates.api.advisor.powerapps.com |
| Publisks | Ražošana | Eiropa | europe.api.advisor.powerapps.com |
| Publisks | Ražošana | Āzija | asia.api.advisor.powerapps.com |
| Publisks | Ražošana | Austrālija | australia.api.advisor.powerapps.com |
| Publisks | Ražošana | Japāna | japan.api.advisor.powerapps.com |
| Publisks | Ražošana | Indija | india.api.advisor.powerapps.com |
| Publisks | Ražošana | Kanāda | canada.api.advisor.powerapps.com |
| Publisks | Ražošana | Dienvidamerika | southamerica.api.advisor.powerapps.com |
| Publisks | Ražošana | Apvienotā Karaliste | unitedkingdom.api.advisor.powerapps.com |
| Publisks | Ražošana | Francija | france.api.advisor.powerapps.com |
| Publisks | Ražošana | Vācija | germany.api.advisor.powerapps.com |
| Publisks | Ražošana | Apvienotie Arābu Emirāti | unitedarabemirates.api.advisor.powerapps.com |
| Publisks | Ražošana | Šveice | switzerland.api.advisor.powerapps.com |
| Publisks | Ražošana | Dienvidāfrikas Republika | southafrica.api.advisor.powerapps.com |
| Publisks | Ražošana | Dienvidkoreja | korea.api.advisor.powerapps.com |
| Publisks | Ražošana | Norvēģija | norway.api.advisor.powerapps.com |
| Publisks | Ražošana | Singapūra | singapore.api.advisor.powerapps.com |
| Publisks | Ražošana | Zviedrija | sweden.api.advisor.powerapps.com |
| Publisks | Ražošana | Polija | poland.api.advisor.powerapps.com |
| Publisks | Ražošana | Itālija | italy.api.advisor.powerapps.com |
| Publisks | Ražošana | ASV valsts iestādēm | gov.api.advisor.powerapps.us |
| Publisks | Ražošana | ASV valdība L4 | high.api.advisor.powerapps.us |
| Publisks | Ražošana | ASV valdība L5 (DOD) | mil.api.advisor.appsplatform.us |
| Publisks | Ražošana | Ķīnas darbību nodrošina 21Vianet | china.api.advisor.powerapps.cn |
Piezīmes
Jūs varat izvēlēties lietot priekšskatījuma ģeogrāfiju, lai iekļautu jaunākos līdzekļus un iepriekš veiktās izmaiņas. Tomēr ņemiet vērā, ka priekšskatījumā tiek izmantoti tikai United States Azure reģioni.
Versiju izveide
Lai gan tas nav obligāts, ieteicams iekļaut API versijas vaicājuma virknes parametru ar vēlamo API versiju. Pašreizējā API versija ir 2.0 noteikumu kopām un kārtulām un 1.0 visiem pārējiem pieprasījumiem. Piemēram, tālāk norādītais noteikumu kopums ir HTTP pieprasījums, kurā norādīts, lai izmantotu 2.0 API versiju.
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=2.0
Ja tā nav norādīta, pēc noklusējuma tiek izmantota jaunākā API versija. Ieteicams izmantot skaidru versijas numuru, jo versija tiek palielināta, ja tiek ieviestas izmaiņas. Ja versijas numurs ir norādīts pieprasījumā, atpakaļsaderības atbalsts (skaitliski lielāks) jaunākās versijās tiks saglabāts.
Kārtulu kopas un kārtulas
Power Apps pārbaudītājam ir nepieciešams kārtulu saraksts, kad tas tiek izpildīts. Šīs kārtulas var tikt nodrošinātas atsevišķu kārtulu formā vai kārtulu grupā, ko sauc par kārtulu kopu. Kārtulu kopa ir ērts veids, kā norādīt kārtulu grupu, nevis noteikt katru kārtulu atsevišķi. Piemēram, risinājuma pārbaudes līdzeklis izmanto kārtulu kopu ar nosaukumu risinājuma pārbaudītājs. Pievienojot vai noņemot jaunas kārtulas, pakalpojums automātiski iekļauj šīs izmaiņas, nepieprasot nekādas izmaiņas patērētājai lietojumprogrammai. Ja nepieciešams, lai kārtulu saraksts netiktu automātiski mainīts, kā aprakstīts iepriekš, tad šīs kārtulas var norādīt atsevišķi.
Kārtulu kopas var būt viena vai vairākas kārtulas bez ierobežojumiem. Kārtula var būt bez vai vairākās kārtulu kopās. Varat saņemt visu kārtulu kopu sarakstu, zvanot API, kā aprakstīts tālāk [Geographical URL]/api/ruleset. Šim galapunktam tagad ir nepieciešama autentifikācija.
Risinājuma pārbaudītāja kārtulu kopa
Risinājumu pārbaudītāja kārtulu kopa satur virkni noderīgu kārtulu, kam ir ierobežotas iespējas aplami pozitīviem gadījumiem. Ja veicat analīzi pret esošu risinājumu, ieteicams sākt ar šo kārtulu kopu. Šo noteikumu kopu izmanto risinājuma pārbaudītāja līdzeklis.
Marketplace sertifikācijas noteikumu kopa
Publicējot lietojumprogrammas pakalpojumā Marketplace, lietojumprogramma ir jāsertificē. Marketplace publicētajām lietojumprogrammām ir jāatbilst augstiem kvalitātes standartiem. Marketplace sertifikācijas kārtulu kopa satur kārtulas, kas ir daļa no risinājumu pārbaudītāja noteikumu kopas, kā arī citas kārtulas, lai nodrošinātu, ka veikalā tiek publicētas tikai augstas kvalitātes lietojumprogrammas. Daži no Marketplace sertifikācijas noteikumiem ir vairāk pakļauti viltus pozitīviem rezultātiem, un to novēršanai var būt nepieciešama lielāka uzmanība.
Atrodiet sava nomnieka ID
Jūsu nomnieka ID ir nepieciešams, lai mijiedarbotos ar API, kam nepieciešams marķieris. Atsaucieties uz šo rakstu, lai iegūtu papildinformāciju par to, kā iegūt nomnieka ID. Varat arī izmantot PowerShell komandas, lai izgūtu nomnieka ID. Šajā piemērā tiek lietoti cmdlet komandas AzureAD modulī.
# Login to Microsoft Entra ID as your user
Connect-AzureAD
# Establish your tenant ID
$tenantId = (Get-AzureADTenantDetail).ObjectId
Nomnieka ID ir ObjectId rekvizīta vērtība, kas tiek atgriezta no Get-AzureADTenantDetail. Jūs varat arī redzēt to pēc pieteikšanās, izmantojot Connect-AzureAD cmdlet cmdlet izvadē. Šajā gadījumā tas tiks nosaukts TenantId.
Autentifikācija un autorizācija
Kārtulu un noteikumu kopu vaicāšanai nav nepieciešams marķieris OAuth , bet visām pārējām API ir nepieciešams marķieris. API atbalsta autorizācijas atklāšana, izsaucot jebkuru API, kam nepieciešams marķieris. Atbilde ir nesankcionēts HTTP statusa kods 401 ar WWW-Authenticate galveni, autorizācijas URI un resursa ID.
x-ms-tenant-id galvenē ir jānorāda arī nomnieka ID . Plašāku informāciju skatiet sadaļā Power Apps Pārbaudītāja autentifikācija un autorizācija. Tālāk ir sniegts no API pieprasījuma atgrieztās atbildes galvenes piemērs.
WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"
Kad esat ieguvis šo informāciju, varat izvēlēties izmantot Microsoft Authentication Library (MSAL) vai kādu citu mehānismu, lai iegūtu marķieri. Tālāk ir sniegts piemērs, kā to var izdarīt, izmantojot C# un MSAL .NET bibliotēku:
// 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();
Pilnu darba kodu skatiet Web API ātrās lietošanas piemērā.
Kad esat iegādājies žetonu, ieteicams norādīt to pašu marķieru nākamajiem zvaniem pieprasījuma dzīves ciklā. Tomēr vairāk pieprasījumu drošības apsvērumu dēļ var attaisnot jauna žetona iegūšanu.
Transporta drošība
Lai iegūtu labāko šifrēšanu savā klasē, pārbaudītāja pakalpojums atbalsta tikai sakarus, izmantojot Transport Layer Security (TLS) 1.2 un jaunāku versiju. Norādījumus par .NET labāko praksi saistībā ar TLS skatiet rakstā Transport Layer Security (TLS) paraugprakse .NET ietvarā.
Atskaites formāts
Risinājuma analīzes rezultāts ir zip fails, kurā ir viena vai vairākas standartizēta JSON formāta atskaites. Atskaites formāts ir balstīts uz statiskas analīzes rezultātiem, kas tiek saukti par Statiskā analīzes rezultātu apmaiņas formātu (SARIF). Pastāv rīki, kas pieejami, lai skatītu un mijiedarbotos ar SARIF dokumentiem. Papildinformāciju skatiet šajā tīmekļa vietnē. Pakalpojums izmanto OASIS standarta otro versiju.
Skatiet arī:
Noteikumu kopu saraksta izgūšana
Kārtulu saraksta izgūšana
Faila augšupielāde
Analīzes izsaukšana
Analīzes statusa pārbaude