Použite webové API pre kontrolu Power Apps

Web API Power Apps checker poskytuje mechanizmus na vykonávanie statických analytických kontrol prispôsobení a rozšírení platformy Microsoft Dataverse. Je k dispozícii pre tvorcov a vývojárov na realizáciu bohatých štatistických kontrol svojich riešení v porovnaní so súborom pravidiel osvedčených postupov na rýchlu identifikáciu problematických vzorcov. Služba poskytuje logiku pre funkciu solution checker vo tvorcovi Power Apps portal a je súčasťou automatizácie pre aplikácie zaslané do Marketplace. Priama interakcia so službou týmto spôsobom umožňuje analýzu riešení, ktoré sú súčasťou lokálnych (všetky podporované verzie) a online prostredí.

Informácie o používaní služby kontroly z kódu PowerShell nájdete v časti Práca s riešeniami pomocou PowerShellu .

Poznámka

  • Použitie kontrolóra Power Apps nezaručuje, že import riešenia bude úspešný. Kontroly statickej analýzy vykonané voči riešeniu nepoznajú nakonfigurovaný stav cieľového prostredia a úspešnosť importu môže závisieť od iných riešení alebo konfigurácií v prostredí.

Alternatívne prístupy

Pred prečítaním podrobností o tom, ako interagovať s webovými API na najnižšej úrovni, zvážte použitie nášho modulu PowerShell s názvom Microsoft.Checker.PowerShell.PowerApps Je to plne podporovaný nástroj, ktorý je dostupný v PowerShell Gallery. Súčasné obmedzenie je, že vyžaduje Windows PowerShell. Ak nie je možné splniť túto požiadavku, najlepším prístupom je priama interakcia s API.

Začíname

Je dôležité poznamenať, že analýza riešenia môže viesť k zdĺhavému procesu. Zvyčajne to môže trvať šesťdesiat (60) sekúnd až viac ako päť (5) minút v závislosti od rôznych faktorov, ako je počet, veľkosť a zložitosť prispôsobení a kódu. Priebeh analýzy je viacstupňový a asynchrónny a počína začatím analytickej úlohy s použitím stavového rozhrania API, ktoré sa používa na dotazovanie dokončenia úlohy. Príklad postupu pre analýzu je nasledujúci:

  1. Získajte OAuth token
  2. Nahranie volania (pre každý súbor súčasne)
  3. Analýza volania (iniciuje úlohu analýzy)
  4. Stav volania do skončenia (opakovanie s prestávkou medzi volaniami, kým nie je signalizovaný koniec alebo nie sú splnené prahy)
  5. Stiahnite si výsledky z poskytnutého SAS URI

Niekoľko variácií:

  • Zahrňte vyhľadávanie sady pravidiel alebo pravidiel ako predbežný krok. Bolo by však o niečo rýchlejšie odovzdať nakonfigurované alebo pevne kódované ID sady pravidiel. Odporúča sa používať sadu pravidiel, ktorá vyhovuje vašim potrebám.
  • Môžete sa rozhodnúť nepoužiť mechanizmus odovzdávania (obmedzenia nájdete v odovzdávaní).

Musíte určiť nasledujúce požiadavky:

Dokumentáciu k jednotlivým API nájdete v nasledujúcich článkoch:

Získať zoznam sád pravidiel
Získať zoznam pravidiel
Nahrať súbor
Analýza vyvolania
Skontrolujte stav analýzy

Určenie geografie

Keď interagujete so službou Power Apps checker, súbory sú dočasne uložené v Azure spolu s generovanými reportmi. Použitím geografického rozhrania API môžete určiť, kde budú dáta uložené. Žiadosti o geografický koncový bod sa smerujú do regionálnej inštancie na základe najlepšieho výkonu (latencia pre žiadateľa). Len čo požiadavka vstúpi do inštancie regionálnej služby, všetko spracovanie a trvalé údaje zostanú v konkrétnom regióne. Niektoré odpovede API vracajú adresy URL regionálnych inštancií pre následné požiadavky po smerovaní analytickej úlohy do konkrétneho regiónu. V každej geografickej oblasti môže byť v danom čase nasadená iná verzia služby. Použitie rôznych verzií služieb je spôsobené viacstupňovým procesom bezpečného nasadenia, ktorý zabezpečuje plnú kompatibilitu verzií. Rovnaká geografická poloha by sa teda mala použiť pre každé volanie API v životnom cykle analýzy a môže tak znížiť celkový čas vykonania, pretože údaje nemusia cestovať veľmi ďaleko po kábli. Dostupné sú nasledujúce geografie:

Azure datacenter Meno Geografická oblasť Základné URI
Verejná Ukážková United States unitedstatesfirstrelease.api.advisor.powerapps.com
Verejná Výrobná verzia United States unitedstates.api.advisor.powerapps.com
Verejná Výrobná verzia Európa europe.api.advisor.powerapps.com
Verejná Výrobná verzia Ázia asia.api.advisor.powerapps.com
Verejná Výrobná verzia Austrália australia.api.advisor.powerapps.com
Verejná Výrobná verzia Japonsko japan.api.advisor.powerapps.com
Verejná Výrobná verzia India india.api.advisor.powerapps.com
Verejná Výrobná verzia Kanada canada.api.advisor.powerapps.com
Verejná Výrobná verzia Južná Amerika southamerica.api.advisor.powerapps.com
Verejná Výrobná verzia Spojené kráľovstvo unitedkingdom.api.advisor.powerapps.com
Verejná Výrobná verzia Francúzsko france.api.advisor.powerapps.com
Verejná Výrobná verzia Nemecko germany.api.advisor.powerapps.com
Verejná Výrobná verzia Spojené Arabské Emiráty unitedarabemirates.api.advisor.powerapps.com
Verejná Výrobná verzia Švajčiarsko switzerland.api.advisor.powerapps.com
Verejná Výrobná verzia Južná Afrika southafrica.api.advisor.powerapps.com
Verejná Výrobná verzia Kórejská republika korea.api.advisor.powerapps.com
Verejná Výrobná verzia Nórsko norway.api.advisor.powerapps.com
Verejná Výrobná verzia Singapur singapore.api.advisor.powerapps.com
Verejná Výrobná verzia Švédsko sweden.api.advisor.powerapps.com
Verejná Výrobná verzia Poľsko poland.api.advisor.powerapps.com
Verejná Výrobná verzia Taliansko italy.api.advisor.powerapps.com
Verejná Výrobná verzia Vláda USA gov.api.advisor.powerapps.us
Verejná Výrobná verzia Vláda USA L4 high.api.advisor.powerapps.us
Verejná Výrobná verzia Vláda USA L5 (DOD) mil.api.advisor.appsplatform.us
Verejná Výrobná verzia Čína cez 21Vianet china.api.advisor.powerapps.cn

Poznámka

Môžete sa rozhodnúť použiť geografiu ukážky na skoršie včlenenie najnovších funkcií a zmien. Všimnite si však, že náhľad používa len United States Azure regióny.

Určovanie verzie

Hoci to nie je povinné, odporúča sa zahrnúť parameter reťazca dotazu api-version s požadovanou verziou rozhrania API. Aktuálna verzia API je 2.0 pre sady pravidiel a pravidlá a 1.0 pre všetky ostatné požiadavky. Napríklad nasledujúca sada pravidiel je HTTP požiadavka, ktorá určuje použitie verzie API 2.0:

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

Ak nie je poskytnutý, štandardne sa použije najnovšia verzia rozhrania API. Odporúča sa použiť explicitné číslo verzie, pretože číslo verzie sa zvýši, ak sa zavedú závažné zmeny. Ak je v žiadosti uvedené číslo verzie, zachová sa podpora spätnej kompatibility v neskorších (číselne) verziách.

Sady pravidiel a pravidlá

Kontrola Power Apps vyžaduje pri spustení zoznam pravidiel. Tieto pravidlá môžu byť stanovené vo forme individuálnych pravidiel alebo zoskupení pravidiel, ktoré sa označujú ako sada pravidiel. Sada pravidiel je pohodlný spôsob, ako určiť skupinu pravidiel namiesto toho, aby ste museli každé pravidlo špecifikovať jednotlivo. Napríklad funkcia kontroly riešení používa sadu pravidiel s názvom Kontrola riešenia. Keď sa pridajú alebo odstránia nové pravidlá, služba tieto zmeny automaticky zahrnie bez toho, aby bola potrebná akákoľvek zmena zo strany spotrebiteľskej aplikácie. Ak požadujete, aby sa zoznam pravidiel nezmenil automaticky, ako je opísané vyššie, potom je možné pravidlá špecifikovať individuálne. Pravidlá môžu mať jedno alebo viac pravidiel bez obmedzenia. Pravidlo môže byť v žiadnej alebo viacerých sadách pravidiel. Zoznam všetkých sád pravidiel môžete získať tak, že zavoláte API nasledovne: [Geographical URL]/api/ruleset. Tento koncový bod teraz vyžaduje overenie.

Sada pravidiel kontroly riešenia

Sada pravidiel pre kontrolu riešení obsahuje súbor efektívnych pravidiel, ktoré majú obmedzené šance na falošné poplachy. Ak spúšťate analýzu s existujúcim riešením, odporúča sa začať s touto sadou pravidiel. Túto sadu pravidiel používa funkcia kontroly riešení. ...

Pravidlá certifikácie na trhu

Pri publikovaní žiadostí na Marketplace musíte mať svoju žiadosť certifikovanú. Žiadosti publikované na Marketplace musia spĺňať vysoký štandard kvality. Certifikačná sada pravidiel Marketplace obsahuje pravidlá, ktoré sú súčasťou sady pravidiel solution checkera, plus ďalšie pravidlá, ktoré zabezpečujú, že v obchode budú publikované iba aplikácie vysokej kvality. Niektoré pravidlá certifikácie Marketplace sú náchylnejšie na falošné poplachy a môžu vyžadovať väčšiu pozornosť na ich vyriešenie.

Nájdite ID svojho nájomníka

ID vášho nájomníka je potrebné na interakciu s API, ktoré vyžadujú token. Prečítajte si tento článok, kde nájdete podrobnosti o tom, ako získať ID nájomníka. Príkazy PowerShell môžete tiež použiť na získanie ID nájomníka. Nasledujúci príklad aplikuje cmdlety v module AzureAD. ...

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

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

ID nájomníka je hodnota vlastností ObjectId, ktorá sa vracia z Get-AzureADTenantDetail. Môžete ju vidieť aj po prihlásení pomocou rutiny cmdlet Connect-AzureAD vo výstupe rutiny cmdlet. V tomto prípade bude mať názov TenantId.

Autentifikácia a autorizácia

Dotazovanie pravidiel a sád pravidiel nevyžaduje token, ale všetky ostatné rozhrania API ho vyžadujú. OAuth Rozhrania API podporujú zisťovanie autorizácie volaním ktoréhokoľvek z rozhraní API, ktoré vyžadujú token. Odpoveďou je neoprávnený stavový kód HTTP 401 s hlavičkou WWW-Authenticate, autorizačným URI a ID zdroja. Mali by ste uviesť aj svoje ID nájomníka v hlavičke x-ms-tenant-id. Viac informácií nájdete v Power Apps Checker autentifikácia a autorizácia pre viac informácií. Nasleduje príklad hlavičky odpovede vrátenej z požiadavky API:

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

Keď budete mať tieto informácie, môžete sa rozhodnúť použiť Microsoft Authentication Library (MSAL) alebo iný mechanizmus na získanie tokenu. Nasleduje príklad, ako to možno dosiahnuť pomocou C# a knižnice 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();

Úplný funkčný kód nájdete v ukážke rýchleho štartu webového rozhrania API. ...

Po získaní tokenu sa odporúča poskytnúť rovnaký token aj pri nasledujúcich volaniach v životnom cykle požiadavky. Viac žiadostí si však môže z bezpečnostných dôvodov vyžiadať získanie nového tokenu.

Bezpečnosť prenosu

Pre zabezpečenie najlepšieho šifrovania vo svojej triede služba kontroly podporuje iba komunikáciu pomocou protokolu TLS (Transport Layer Security) 1.2 a novšieho. Pre usmernenie .NET najlepších postupov v oblasti TLS pozrite Transport Layer Security (TLS) osvedčené postupy s .NET Framework.

Formát zostavy

Výsledkom analýzy riešenia je súbor zip obsahujúci jednu alebo viac zostáv v štandardizovanom formáte JSON. Formát zostavy je založený na výsledkoch statickej analýzy označovaných ako Static Analysis Results Interchange Format (SARIF). K dispozícii sú nástroje na prezeranie a interakciu s dokumentmi SARIF. Pozrite si tieto webové stránky pre viac informácií. Služba používa druhú verziu štandardu OASIS. ...

Pozrite si tiež

Získať zoznam sád pravidiel
Získať zoznam pravidiel
Nahrať súbor
Analýza vyvolania
Skontrolujte stav analýzy