Korišćenje Web API-ja za Power Apps kontrolor
Power Apps provera Web API-ja nudi mehanizam za pokretanje provera statičke analize u odnosu na prilagođavanja i proširenja na Microsoft Dataverse platformi. Autorima i programerima je dostupno obavljanje obogaćenih provera statičke analize njihovih rešenja u odnosu na skup pravila najboljih praksi da bi brzo identifikovali problematične šablone. Usluga pruža logiku za funkciju provere rešenja na portalu za Power Apps autore i uključena je kao deo automatizacije za aplikacije prosleđene u AppSource. Direktna interakcija sa uslugom na ovaj način omogućava analizu rešenja koja su uključena u lokalni (sve podržane verzije) i okruženja na mreži.
Za informacije o korišćenju usluge provere iz PowerShell koda pogledajte članak Rad sa rešenjima pomoću programa PowerShell.
Belešku
- Upotreba Power Apps kontrolora ne garantuje da će uvoz rešenja biti uspešan. Provere statičke analize izvršene prema rešenju ne znaju kako je konfigurisano stanje odredišnog okruženja, a uspeh uvoza može zavisiti od drugih rešenja ili konfiguracija u okruženju.
Alternativni pristupi
Pre čitanja kroz detalje o interakciji na najnižem nivou sa Veb API-jem, razmislite o korišćenju našeg PowerShell modula, Microsoft.PowerApps. Checker.PowerShell, umesto toga. To je potpuno podržan alat koji je dostupan u PowerShell galeriji. Trenutno ograničenje je da zahteva Windows PowerShell. Ako ne možete da ispunite ovaj zahtev, onda je direktna interakcija sa API-jem najbolji pristup.
Prvi koraci
Važno je napomenuti da analiza rešenja može rezultirati dugotrajnim procesom. Obično može da potraje šezdeset (60) sekundi naviše od pet (5) minuta u zavisnosti od različitih faktora, kao što su broj, veličina i složenost prilagođavanja i koda. Tok analize je višestepeni i asinhron, počev od započinjanja posla analize pomoću API-ja statusa koji se koristi za upit za dovršavanje posla. Sledi primer toka za analizu:
- Pribavljanje OAuth tokena
- Otpremanje poziva (za svaku datoteku paralelno)
- Analiza poziva (pokreće posao analize)
- Status poziva do završetka (petlja sa pauzom između poziva dok se ne signalizira kraj ili se ne dosegnu pragovi)
- Preuzimanje rezultata sa obezbeđenog SAS URI-ja
Nekoliko varijacija su:
- Uključite pronalaženje skupa pravila ili pravila kao predkorak. Međutim, bilo bi malo brže da prosledite ID konfigurisanog ili direktno kodiranog skupa pravila. Preporučujemo vam da koristite skup pravila koja zadovoljavaju vaše potrebe.
- Možete da odlučite da ne koristite mehanizam za otpremanje (pogledajte ograničenja za prenos).
Potrebno je da odredite sledeće zahteve:
Pogledajte sledeće članke za dokumentaciju o pojedinačnim API-jem:
Preuzimanje liste skupova pravila
Preuzimanje liste pravila
Otpremanje datoteke
Pozivanje analize
Provera statusa analize
Određivanje geografije
Kada komunicirate sa uslugom Power Apps proveravača, datoteke se privremeno skladište u Azure zajedno sa generisanim izveštajima. Korišćenjem API-ja specifičnog za geografsku oblast, možete kontrolisati gde se podaci čuvaju. Zahtevi za geografsku krajnju tačku usmeravaju se na regionalnu instancu na osnovu najboljih performansi (kašnjenje do podnosioca zahteva). Kada zahtev uđe u instancu regionalne usluge, svi podaci o obradi i trajni podaci ostaju u tom određenom regionu. Određeni API odgovori vraćaju URL adrese regionalne instance za naredne zahteve kada se zadatak analize usmeri u određeni region. Svaka geografija može imati različitu verziju usluge koja je raspoređena u bilo kom trenutku u vremenu. Korišćenje različitih verzija usluge je rezultat višestepenog procesa bezbedne primene, koji obezbeđuje kompatibilnost kompletne verzije. Dakle, ista geografija bi trebalo da se koristi za svaki API poziv u životnom ciklusu analize i može smanjiti ukupno vreme izvršavanja, jer podaci možda neće morati da putuju toliko daleko preko žice. Slede dostupne geografske oblasti:
Azure centar podataka | +Ime | Geografska oblast | Osnovni URI |
---|---|---|---|
Javno | Verzija za pregled | SAD | unitedstatesfirstrelease.api.advisor.powerapps.com |
Javno | Proizvodnja | SAD | unitedstates.api.advisor.powerapps.com |
Javno | Proizvodnja | Evropa | europe.api.advisor.powerapps.com |
Javno | Proizvodnja | Azija | asia.api.advisor.powerapps.com |
Javno | Proizvodnja | Australija | australia.api.advisor.powerapps.com |
Javno | Proizvodnja | Japan | japan.api.advisor.powerapps.com |
Javno | Proizvodnja | Indija | india.api.advisor.powerapps.com |
Javno | Proizvodnja | Kanada | canada.api.advisor.powerapps.com |
Javno | Proizvodnja | Južna Amerika | southamerica.api.advisor.powerapps.com |
Javno | Proizvodnja | Ujedinjeno Kraljevstvo | unitedkingdom.api.advisor.powerapps.com |
Javno | Proizvodnja | Francuska | france.api.advisor.powerapps.com |
Javni | Produkcija | Nemačka | germany.api.advisor.powerapps.com |
Javni | Produkcija | Ujedinjeni Arapski Emirati | unitedarabemirates.api.advisor.powerapps.com |
Javni | Produkcija | Švajcarska | switzerland.api.advisor.powerapps.com |
Javni | Produkcija | Južnoafrčka Republika | southafrica.api.advisor.powerapps.com |
Javni | Produkcija | Južna Koreja | korea.api.advisor.powerapps.com |
Javni | Produkcija | Norveška | norway.api.advisor.powerapps.com |
Javni | Produkcija | Singapur | singapore.api.advisor.powerapps.com |
Javni | Produkcija | Švedska | sweden.api.advisor.powerapps.com |
Javni | Produkcija | US Government | gov.api.advisor.powerapps.us |
Javno | Proizvodnja | Državne institucije SAD L4 | high.api.advisor.powerapps.us |
Javno | Proizvodnja | Državne institucije SAD L5 (DOD) | mil.api.advisor.appsplatform.us |
Javno | Proizvodnja | Kina, upravlja 21Vianet | china.api.advisor.powerapps.cn |
Belešku
Možete odabrati da koristite geografsku oblast za pregled da biste ranije uključili najnovije funkcije i izmene. Međutim, imajte na umu da se za pregled koristi samo Azure region u SAD.
Kreiranje verzija
Iako nije potrebno, preporučuje se uključivanje parametra niske upita api verzije sa željenom API verzijom. Trenutna API verzija je 2.0 za pravila i pravila i 1.0 za sve ostale zahteve. Na primer, sledeći nalog pravila je HTTP zahtev koji određuje korišćenje 2.0 API verzije:
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=2.0
Ako nije obezbeđeno, najnovija API verzija se podrazumevano koristi. Korišćenje eksplicitnog broja verzije se preporučuje kada se verzija uveća ako se uvedu prelomne promene. Ako je broj verzije naveden u zahtevu, održaće se podrška za kompatibilnost sa starijim verzijama u kasnijim (brojčano većim) verzijama.
Skupovi pravila i pravila
Power Apps kontrolor zahteva listu pravila kada se pokrene. Ta pravila se mogu navoditi u obliku pojedinačnih pravila ili grupe pravila koja se naziva skup pravila. Skup pravila je prikladan način za određivanje grupe pravila umesto da se svako pravilo pojedinačno određuje. Na primer, funkcija provere rešenja koristi skup pravila pod nazivom Provera rešenja. Kako se nova pravila dodaju ili uklanjaju, usluga automatski uključuje ove promene bez zahtevanja bilo kakve promene od strane aplikacije za konzumiranje. Ako želite da se lista pravila ne menja automatski kao što je gore opisano, onda se pravila mogu odrediti pojedinačno.
Skupovi pravila mogu imati jedno ili više pravila bez ograničenja. Pravilo može biti bez skupa pravila ili u više skupova pravila. Listu svih skupova pravila možete dobiti tako što ćete pozvati API na sledeći način: [Geographical URL]/api/ruleset
. Ovo krajnja tačka sada zahteva potvrdu identiteta.
Skup pravila za proveru rešenja
Skup pravila za proveru rešenja sadrži skup uticajnih pravila koja imaju ograničene šanse za lažne pozitivne rezultate. Ako pokrenete analizu u odnosu na postojeće rešenje, preporučuje se da počnete sa ovom stavkom pravila. Ovu funkciju za proveru pravila koristi funkcija za proveru rešenja.
AppSource set pravila sertifikacije
Prilikom objavljivanja aplikacija na lokaciji AppSource, morate sertifikovati aplikaciju. Aplikacije objavljene na lokaciji AppSource obavezno moraju da zadovolje visok standard kvaliteta. Sertifikacija AppSource sadrži pravila koja su deo pravila za proveru rešenja, kao i druga pravila kako bi se osiguralo objavljivanje samo visokokvalitetnih aplikacija u prodavnici. Neka pravila sertifikacije AppSource su sklonija lažnim pozitivnim stvarima i mogu zahtevati više pažnje za rešavanje.
Pronađite ID svog zakupca
ID vašeg zakupca je potreban za interakciju sa API-jima koji zahtevaju token. Pogledajte Ovaj članak za detalje o tome kako da dobijete ID zakupca. Takođe možete da koristite PowerShell komande da biste preuzeli ID zakupca. Sledeći primer primenjuje cmdlets u AzureAD modulu.
# Login to Microsoft Entra ID as your user
Connect-AzureAD
# Establish your tenant ID
$tenantId = (Get-AzureADTenantDetail).ObjectId
ID zakupca je vrednost svojstva ObjectId
koju vraća funkcija Get-AzureADTenantDetail
. Možete ga videti i nakon što se prijavite koristeći cmdlet komandu Connect-AzureAD na izlazu cmdlet komande. U ovom slučaju, biće imenovan. TenantId
Potvrda identiteta i autorizacija
Upit za pravila i pravila ne zahteva oznaku OAuth, ali svi ostali API-i zahtevaju simbol. API-ji podržavaju otkrivanje autorizacije pozivanjem bilo kojeg API-ja za koji je potreban token. Odgovor je neovlašćeni HTTP statusni kôd 401 sa zaglavljem WWW-Authenticate, URI autorizacijom i ID-om resursa. Takođe bi trebalo da navedete svoj ID zakupca u zaglavlju x-ms-tenant-id
. Više informacija potražite Power Apps u članku Provera identiteta i ovlašćenja. Sledi primer zaglavlja odgovora vraćenog iz API zahteva:
WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"
Kada dobijete ove informacije, možete odabrati da koristite Microsoft biblioteku za potvrdu identiteta (MSAL) ili neki drugi mehanizam za pribavljanje simbola. Sledi primer kako se to može uraditi pomoću C# i MSAL .NET biblioteke :
// 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();
Kompletan radni kôd pogledajte u uzorku Web API QuickStart.
Kada nabavite simbol, savetuje se da istom znaku obezbedite naknadne pozive u životnom ciklusu zahteva. Međutim, više zahteva može da garantuje da se novi simbol pribavi iz bezbednosnih razloga.
Bezbednost u transportu
Za najbolje šifrovanje, usluga provere podržava komunikaciju samo pomoću usluge Transport Layer Security (TLS) 1.2 i veće. Kao uputstvo o najboljim .NET praksama u vezi sa TLS-om, pogledajte Najbolje prakse za Transport Layer Security (TLS) sa platformom .NET Framework.
Format izveštaja
Rezultat analize rešenja je ZIP datoteka koja sadrži jedan ili više izveštaja u standardizovanom JSON formatu. Format izveštaja je zasnovan na rezultatima statičke analize koja se naziva „format razmene rezultata statičke analize“ (SARIF). Na raspolaganju su vam alati za prikaz i interakciju sa SARIF dokumentima. Pogledajte ovu veb-lokaciju za detalje. Usluga koristi verziju dva standarda OASIS.
Pogledajte i ovo
Preuzimanje liste skupova pravila
Preuzimanje liste pravila
Otpremanje datoteke
Pozivanje analize
Provera statusa analize
Povratne informacije
https://aka.ms/ContentUserFeedback.
Stiže uskoro: Tokom 2024. godine postepeno ćemo ukidati probleme sa uslugom GitHub kao mehanizam povratnih informacija za sadržaj i zameniti ga novim sistemom povratnih informacija. Dodatne informacije potražite u članku:Prosledite i prikažite povratne informacije za