Jagamisviis:


Power Appsi kontrollija veebi-API kasutamine

Power Appsi kontrollija veebi API pakub staatilise analüüsi kontrollide teostamise mehhanismi Microsoft Dataverse'i platvormi kohanduste ja laienduste põhjal. See on saadaval koostajatele ja arendajatele oma lahenduste hea tava reeglite osas rikkaliku staatilise analüüsi teostamiseks ja kiiresti nende probleemsete mustrite tuvastamiseks. Teenus pakub loogikat lahenduse kontrollimise funktsioonile Power Apps makeri portaalis ning on osa automatiseerimisest Marketplace'ile esitatud rakenduste jaoks. Teenusega sel viisil otse suhtlemine võimaldab analüüsida lahendusi, mis on kaasatud nii kohapealsetesse (kõik toetatud versioonid) kui ka veebikeskkondadesse.

Lisateavet PowerShelli koodist kontrolliteenuse kasutamise kohta leiate jaotisest Töötamine lahendustega PowerShelli abil.

Märkus.

  • Power Apps kontrollija kasutamine ei garanteeri lahenduse importimise õnnestumist. Lahenduse vastu teostatavad staatilised analüüsid ei tea, millist tüüpi sihtkeskkonna konfigureeritud olekut ja impordi edukus võib sõltuda muudest lahendustest või konfiguratsioonist keskkonnas.

Alternatiivsed lähenemisviisid

Enne veebiliideste madalaimal tasemel suhtlemise üksikasjade lugemist kaaluge meie PowerShelli mooduli Microsoft.PowerApps.Checker.PowerShell kasutamist. See on täielikult toetatud tööriist, mis on saadaval PowerShelli galeriis . Praeguse piirangu korral nõuab see Windows PowerShelli. Kui seda nõuet ei suudeta täita, on parim lähenemisviis API-dega otse suhtlemine.

Alustamine

Oluline on märkida, et lahenduse analüüs võib kaasa tuua pika protsessi. Tavaliselt võib see võtta aega kuuskümmend (60) sekundit kuni viis (5) minutit, olenevalt erinevatest teguritest, nagu kohanduste ja koodi arv, suurus ja keerukus. Analüüsivoog on mitmeetapiline ja asünkroonne, alustades analüüsi käivitamisest, kus oleku API-d kasutatakse töö lõpuleviimise päringute tegemiseks. Analüüsi näidisvoog on järgmine:

  1. Hankige OAuth märk
  2. Kutse üleslaadimine (paralleelselt iga faili jaoks)
  3. Kutse analüüsimine (käivitab analüüsi)
  4. Kutse olek kuni lõpetamiseni (silmuse moodustamine, kui kutsete vahel on paus, kuni lõpule viimisest antakse märku või läviväärtused on täidetud)
  5. Tulemuste allalaadimine esitatud SAS-i URI-st

Mõned variatsioonid on järgmised.

  • Lisage reeglistiku või reeglite otsing eeletapina. Siiski oleks veidi kiirem edastada konfigureeritud või püsiprogrammeeritud reeglistiku ID. Soovitatav on kasutada reeglistikku, mis vastab teie vajadustele.
  • Soovi korral saate üleslaadimismehhanismi mitte kasutada (piirangute kohta vaadake üleslaadimist).

Peate kindlaks määrama järgmised nõuded:

Individuaalsete API-de kohta leiate dokumentatsiooni järgmistest artiklitest:

Reeglite loendi toomine
Reeglite loendi toomine
Laadi fail üles
Kutsu analüüs
Kontrollige analüüsi olekut

Geograafia määratlemine

Kui suhtlete kontrolliteenusega, salvestatakse failid ajutiselt Azure’is koos genereeritud aruannetega. Power Apps Geograafiapõhist API-d kasutades, saate kontrollida, kuhu andmed talletatakse. Geograafilise lõpp-punkti päringud suunatakse piirkondlikule eksemplarile, lähtudes parimast jõudlusest (latentsus). Kui päring siseneb piirkondliku teenuse eksemplari, jäävad kõik töötlemised ja püsivad andmed sellesse kindlasse piirkonda. Teatud API vastused tagastavad järgnevate päringute piirkondlike eksemplaride URL-id, kui analüüsitöö on suunatud kindlasse piirkonda. Igal geograafilisel alal võib olla igal ajahetkel juurutatud teenuse erinev versioon. Erinevate teenuseversioonide kasutamine on tingitud mitmeastmelisest turvalisest juurutamisprotsessist, mis tagab versioonide täieliku ühilduvuse. Seega sama geograafiat tuleks kasutada iga API päringureaktsiooni analüüsi elutsükli puhul ja võib vähendada üldist täitmise aega, kuna andmed ei pruugi liikuda üle juhtme nii kaugele. Saadaval on järgmised geograafilised piirkonnad.

Azure'i andmekeskus Nimi Geograafiline ala Alus-URI
Avalik Tutvu eelvaatega Ameerika Ühendriigid unitedstatesfirstrelease.api.advisor.powerapps.com
Avalik Tootmine Ameerika Ühendriigid unitedstates.api.advisor.powerapps.com
Avalik Tootmine Euroopa europe.api.advisor.powerapps.com
Avalik Tootmine Aasia asia.api.advisor.powerapps.com
Avalik Tootmine Austraalia australia.api.advisor.powerapps.com
Avalik Tootmine Jaapan japan.api.advisor.powerapps.com
Avalik Tootmine India india.api.advisor.powerapps.com
Avalik Tootmine Kanada canada.api.advisor.powerapps.com
Avalik Tootmine Lõuna-Ameerika southamerica.api.advisor.powerapps.com
Avalik Tootmine Suurbritannia unitedkingdom.api.advisor.powerapps.com
Avalik Tootmine Prantsusmaa france.api.advisor.powerapps.com
Avalik Tootmine Saksamaa germany.api.advisor.powerapps.com
Avalik Tootmine Araabia Ühendemiraadid unitedarabemirates.api.advisor.powerapps.com
Avalik Tootmine Šveits switzerland.api.advisor.powerapps.com
Avalik Tootmine Lõuna-Aafrika southafrica.api.advisor.powerapps.com
Avalik Tootmine Korea korea.api.advisor.powerapps.com
Avalik Tootmine Norra norway.api.advisor.powerapps.com
Avalik Tootmine Singapur singapore.api.advisor.powerapps.com
Avalik Tootmine Rootsi sweden.api.advisor.powerapps.com
Avalik Tootmine Poola poland.api.advisor.powerapps.com
Avalik Tootmine Itaalia italy.api.advisor.powerapps.com
Avalik Tootmine USA valitsus gov.api.advisor.powerapps.us
Avalik Tootmine USA valitsus L4 high.api.advisor.powerapps.us
Avalik Tootmine USA valitsus L5 (DOD) mil.api.advisor.appsplatform.us
Avalik Tootmine Hiina teenusepakkuja on 21Vianet china.api.advisor.powerapps.cn

Märkus.

Uusimate funktsioonide ja varasemate muudatuste kaasamiseks võite kasutada geograafilise piirkonna eelversiooni. Pange tähele, et eelversioonis kasutatakse ainult Ameerika Ühendriikide Azure'i piirkondi.

Versioonimine

Kuigi see pole kohustuslik, on soovitatav lisada soovitud API versiooniga päringustringi parameeter api-version. Praegune API versioon on reeglistike ja reeglite jaoks 2.0 ning kõigi muude päringute jaoks 1.0. Näiteks järgmine reeglistik on HTTP-päring, mis määrab API versiooni 2.0 kasutamise:

https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=2.0

Kui seda ei esitata, kasutatakse vaikimisi uusimat API versiooni. Soovitatav on kasutada selgesõnalist versiooninumbrit, kuna versiooni suurendatakse, kui tehakse vigaseid muudatusi. Kui taotluses on määratud versiooninumber, säilitatakse hilisemates (arvult suuremates) versioonides tagasiühilduvuse tugi.

Reeglistikud ja reeglid

Power Appsi kontrollija vajab käitamisel reeglite loendit. Neid reegleid võib esitada üksikute reeglite või reeglite rühmana, mida nimetatakse reeglistikuks. Reeglistik on mugav viis reeglite rühma määramiseks, mitte iga reegli eraldi määramiseks. Lahendusekontrollija funktsioon kasutab näiteks reeglistikku nimega Lahendusekontrollija. Uute reeglite lisamisel või eemaldamisel lisab teenus need muudatused automaatselt, ilma et tarbiv rakendus peaks midagi muutma. Kui teil on vaja, et reeglite loend ei muutuks automaatselt vastavalt eespool kirjeldatule, saab reeglid määrata eraldi. Reeglistikus võib olla üks või piiramatu hulk reegleid. Reeglit ei pruugi olla reeglistikus ning see võib olla mitmes reeglistikus. Reeglistike loendi saamiseks kutsuge API järgmiselt: [Geographical URL]/api/ruleset. See lõpp-punkt nõuab nüüd autentimist.

Lahendusekontrollija reeglistik

Lahendusekontrollija reeglistik sisaldab mõjusate reeglite komplekti, millel on piiratud võimalused olla valepositiivne. Kui analüüsite olemasoleva lahenduse põhjal, on soovitatav alustada selle reeglistikuga. Seda reeglistikku kasutab lahenduse kontrollimise funktsioon .

Turu sertifitseerimise reeglistik

Marketplace'is rakendusi avaldades pead oma taotluse sertifitseerima. Marketplace'is avaldatud rakendused peavad vastama kõrgele kvaliteedistandardile. Marketplace'i sertifitseerimise reeglistik sisaldab reegleid, mis on osa lahenduse kontrollija reeglitest, ning muid reegleid, mis tagavad, et poes avaldatakse ainult kvaliteetsed rakendused. Mõned Marketplace'i sertifitseerimisreeglid on altid valepositiivsetele tulemustele ja võivad vajada rohkem tähelepanu lahendamiseks.

Rentniku ID leidmine

Teie rentniku ID on vajalik sõne nõudvate API-dega suhtlemiseks. Lisateavet rentniku ID hankimise kohta leiate sellest artiklist. Rentniku ID toomiseks saate kasutada ka PowerShelli käske. Järgmises näites rakendatakse AzureAD mooduli ` ` cmdlett-käske.

# Login to Microsoft Entra ID as your user
Connect-AzureAD

# Establish your tenant ID
$tenantId = (Get-AzureADTenantDetail).ObjectId

Rentniku ID on atribuudi ObjectId väärtus, mis tagastatakse üksusest Get-AzureADTenantDetail. Võite seda näha ka pärast cmdlet-käsu väljundis Connect-AzureAD cmdlet-käsu abil sisselogimist. Sellisel juhul nimetatakse seda TenantId.

Autentimine ja autoriseerimine

Reeglite ja reeglistike päringute tegemiseks ei ole tokenit vaja, kuid kõik teised API-d vajavad seda. OAuth API-d toetavad autoriseerimise tuvastamist, kutsudes mõnda sõne nõudvat API-d. Vastuseks saadakse autoriseerimata HTTP olekukood 401 koos WWW-Authenticate päise, autoriseerimise URI ja ressursi ID-ga. Rentniku ID peaksite sisestama ka päisesse x-ms-tenant-id. Lisateavet leiate jaotisest Power Apps Kontrolleri autentimine ja autoriseerimine . Järgnev on näide API-päringu tagastatud vastuse päisest:

WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"

Kui see teave on olemas, saate valida, kas kasutada tokeni hankimiseks Microsoft Authentication Library (MSAL) või mõnda muud mehhanismi. Järgnev on näide sellest, kuidas seda saab teha C# ja **MSAL .NET** teeki kasutades: ...

// 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();

Täieliku töötava koodi leiate veebiliidese kiirjuhendist.

Kui olete tokeni hankinud, on soovitatav esitada sama token järgmistele päringu elutsükli kõnedele. Rohkemate päringute korral võib aga turvakaalutlustel olla vaja hankida uus token.

Transpordi turvalisus

Parima krüptimise tagamiseks toetab kontrollteenus ainult transpordikihi turbe (TLS) 1.2 ja uuemate versioonide abil suhtlemist. Juhiseid .NET-i TLS-i kohaste heade tavade kohta leiate teemast Transpordikihi turbe (TLS) .NET Frameworkiga seotud parimad tavad.

Aruande vorming

Lahenduse analüüsi tulemus on ZIP-fail, mis sisaldab ühte või mitut standardiseeritud JSON-vormingus aruannet. Aruande vorming põhineb staatilise analüüsi tulemustel, mida nimetatakse staatilise analüüsi tulemuste vahetuse vorminguks (SARIF). SARIF-i dokumentide vaatamiseks ja nendega suhtlemiseks on saadaval tööriistad. Lisateavet leiate sellelt veebisaidilt. Teenus kasutab OASIS-i standardi teist versiooni.

Vaata ka

Reeglite loendi toomine
Reeglite loendi toomine
Laadi fail üles
Kutsu analüüs
Kontrollige analüüsi olekut