Jaa


Power Apps tarkistuksen WWW-ohjelmointirajapinnan käyttäminen

Power Apps tarkistustoiminnon verkko-ohjelmointirajapinta tarjoaa mekanismin staattisten analyysitarkistusten suorittamiseksi Microsoft Dataverse-ympäristön mukautuksia ja laajennuksia vastaan. Se on tekijöiden ja kehittäjien käytettävissä monipuolisia staattisia analyysitarkistuksia varten, jossa ratkaisun käyttöä verrataan parhaiden käytäntöjen mukaisiin sääntöihin. Tällä tavoin ongelmalliset kohdat havaitaan nopeasti. Palvelu tarjoaa Power Apps tekijän solution tarkistusominaisuuden Power Apps maker portal ja se sisältyy Marketplaceen lähetettyjen sovellusten automaatioon. Kun käytät palvelua suoraan tällä tavalla, voit analysoida ratkaisuja, jotka sisältyvät paikallisiin ympäristöihin (kaikki tuetut versiot) ja verkkoympäristöihin.

Lisätietoja tarkistuspalvelun käyttämisestä PowerShell-koodilla on kohdassa Ratkaisujen käyttäminen PowerShellin avulla.

Muistiinpano

  • Power Apps tarkistustoiminnon käyttö ei takaa ratkaisun tuomisen onnistumista. Ratkaisun staattiset analyysitarkistukset eivät tiedä kohdeympäristön määritettyä tilaa, ja tuonnin onnistuminen voi riippua muista ympäristön ratkaisuista tai konfiguraatioista.

Vaihtoehtoiset lähestymistavat

Ennen kuin luet yksityiskohtaisesti, miten voit olla vuorovaikutuksessa alimmalla tasolla verkko-ohjelmointirajapintojen kanssa, harkitse sen sijaan PowerShell-moduuliamme Microsoft.PowerApps.Checker.PowerShell. Se on täysin tuettu työkalu, joka on saatavilla PowerShell Gallery. Nykyinen rajoitus on, että se ei vaadi Windows PowerShelliä. Jos tätä vaatimusta ei voida täyttää, suora vuorovaikutus ohjelmointirajapintojen kanssa on paras lähestymistapa.

Aloitus

On tärkeää ottaa huomioon, että ratkaisuanalyysi voi johtaa pitkäkestoiseen prosessiin. Se voi tyypillisesti kestää 60 sekunnista aina viiteen (5) minuuttiin riippuen useista eri tekijöistä, kuten mukautusten ja koodin määrästä, koosta ja monimutkaisuudesta. Analyysityönkulku on monivaiheinen ja asynkroninen. Se alkaa sellaisen analyysitehtävän alustamisesta, jossa tilan ohjelmointirajapintaa käytetään tehtävän valmistumisen kyselemiseen. Esimerkki analyysityönkulusta:

  1. OAuth-tunnuksen hankkiminen
  2. Lataamisen kutsuminen (jokaisen tiedoston osalta rinnakkain)
  3. Kutsun analysointi (aloittaa analyysitehtävän)
  4. Kutsun tila valmiiseen asti (silmukka, jossa on tauko kutsujen välillä, kunnes lopusta ilmoitetaan tai kynnykset täyttyvät)
  5. Tulosten lataaminen annetusta SAS URI -osoitteesta

Muunnelmia tästä ovat esimerkiksi:

  • Sääntöjoukon tai sääntöjen haun sisällyttäminen esivaiheena. On kuitenkin hieman nopeampaa välittää määritetty tai kovakoodattu sääntöjoukon tunnus. Suosituksena on sellaisen sääntöjoukon käyttäminen, joka vastaa tarpeitasi.
  • Voit valita, ettet käytä latausmekanismia (katso rajoitusten lataaminen).

Seuraavat tiedot on määritettävä:

Seuraavissa artikkeleissa on tietoja yksittäisistä ohjelmointirajapinnoista:

Sääntöjoukkoluettelon noutaminen
Sääntöluettelon noutaminen
Tiedoston lataaminen
Analyysin käynnistäminen
Analyysin tilan tarkistaminen

Paikkatiedon määrittäminen

Kun käytät Power Apps tarkistuspalvelua, tiedostot tallennetaan tilapäisesti Azure yhdessä luotujen raporttien kanssa. Käyttämällä paikkatietokohtaista ohjelmointirajapintaa voit määrätä, minne tiedot tallennetaan. Pyynnöt maantieteellisen sijainnin päätepisteeseen reititetään alueelliseen esiintymään parhaan suorituskyvyn perusteella (latenssi pyytäjälle). Kun pyyntö siirtyy alueelliseen palveluesiintymään, kaikki käsittelyt ja pysyvät tiedot pysyvät tietyllä alueella. Tietyt ohjelmointirajapinnan vastaukset palauttavat alueellisten esiintymien URL-osoitteet seuraavia pyyntöjä varten, kun analyysityö on reititetty tietylle alueelle. Kullakin maantieteellisellä alueella voi olla käytössä palvelun eri versio minä tahansa hetkenä. Palvelun eri versioiden käyttö johtuu monivaiheisesta turvallisen käyttöönoton prosessista. Tämä takaa versioiden täydellisen yhteensopivuuden. Näin ollen samaa maantieteellistä sijaintia olisi käytettävä jokaisessa API-kutsussa analyysin elinkaaren aikana, ja se voi lyhentää yleistä suoritusaikaa, koska tietojen ei ehkä tarvitse kulkea niin pitkälle verkon yli. Seuraavat paikkatiedot ovat käytettävissä:

Azure palvelinkeskus Nimi Maantieteellinen alue Perus-URI
Julkinen Esiversio United States unitedstatesfirstrelease.api.advisor.powerapps.com
Julkinen Tuotantoympäristö United States unitedstates.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Eurooppa europe.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Aasia asia.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Australia australia.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Japani japan.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Intia india.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Kanada canada.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Etelä-Amerikka southamerica.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Yhdistynyt kuningaskunta unitedkingdom.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Ranska france.api.advisor.powerapps.com
Julkinen Tuotantoympäristö saksa germany.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Arabiemiirikunnat unitedarabemirates.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Sveitsi switzerland.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Etelä-Afrikka southafrica.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Etelä-Korea korea.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Norja norway.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Singapore singapore.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Ruotsi sweden.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Puola poland.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Italia italy.api.advisor.powerapps.com
Julkinen Tuotantoympäristö Yhdysvaltain julkinen hallinto gov.api.advisor.powerapps.us
Julkinen Tuotantoympäristö Yhdysvaltain julkinen hallinto L4 high.api.advisor.powerapps.us
Julkinen Tuotantoympäristö Yhdysvaltain valtionhallinnon L5 (DOD) mil.api.advisor.appsplatform.us
Julkinen Tuotantoympäristö 21Vianetin operoima Kiina china.api.advisor.powerapps.cn

Muistiinpano

Voit päättää käyttää esiversiopaikkatietoa ottaaksesi viimeisimmät toiminnot ja muutokset käyttöön aikaisemmin. Huomaa kuitenkin, että esikatselussa käytetään vain United States Azure aluetta.

Versionhallinta

On suositeltavaa lisätä ohjelmistorajapinnan version kyselymerkkijonoparametri, jossa on haluttu ohjelmistorajapinnan versio, vaikka tämä ei ole pakollista. Nykyinen ohjelmointirajapinnan versio on 2.0 sääntöjoukkoja ja sääntöjä varten ja 1.0 kaikkia muita pyyntöjä varten. Esimerkiksi seuraava sääntöjoukko on HTTP-pyyntö, jossa määritetään ohjelmistorajapinnan version 2.0 käyttö:

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

Jos sitä ei anneta, ohjelma käyttää oletusarvoisesti viimeisintä ohjelmistorajapinnan versiota. Tarkan versionumeron käyttöä suositellaan, koska versionumero kasvaa, jos käyttöön otetaan uusia muutoksia. Jos versio numero on määritetty pyynnössä, aiempien versioiden yhteensopivuuden tukea ylläpidetään myöhemmissä versioissa (numeerisesti suuremmat).

Sääntöjoukot ja säännöt

Power Apps tarkistustoiminto edellyttää sääntöluetteloa suorittamisen aikana. Nämä säännöt voidaan antaa yksittäisten sääntöjen muodossa tai sääntöryhmissä, jota kutsutaan sääntöjoukoiksi. Sääntöjoukko on kätevä tapa määrittää sääntöryhmä sen sijaan, että kukin sääntö määritetään erikseen. Esimerkiksi ratkaisun tarkistustoiminto käyttää sääntöjoukkoa, jonka nimi on Ratkaisun tarkistus. Kun uusia sääntöjä lisätään tai poistetaan, palvelu sisältää nämä muutokset automaattisesti muutosten vaatimista käyttävältä sovellukselta. Jos haluat, että sääntöluettelo ei muutu automaattisesti yllä kuvatulla tavalla, säännöt voidaan määrittää yksitellen. Sääntöjoukolla voi olla yksi tai useampia sääntöjä ilman rajoitusta. Sääntö voi olla yhdessä tai useammassa sääntöjoukossa. Voit saada luettelon kaikista sääntöjoukoista kutsumalla rajapintaa seuraavasti: [Geographical URL]/api/ruleset. Tämä päätepiste edellyttää nyt todennusta.

Ratkaisun tarkistuksen sääntöjoukko

Ratkaisun tarkistuksen sääntöjoukko sisältää joukon vaikuttavia sääntöjä, joilla on rajalliset virheellisten esiintymien mahdollisuudet. Jos analyysi suoritetaan aiemmin luotuun ratkaisuun verrattuna, suositellaan aloittamista tällä sääntöjoukolla. Tämä on sääntöjoukko, jota ratkaisun tarkistustoiminto käyttää.

Markkinapaikan sertifioinnin sääntöjoukko

Kun julkaiset sovelluksia Marketplacessa, sovellus on sertifioitava. Marketplacessa julkaistujen sovellusten on täytettävä korkealaatuinen standardi. Marketplacen sertifioinnin sääntöjoukko sisältää säännöt, jotka ovat osa ratkaisun tarkistustoiminnon sääntöjoukkoa, sekä muita sääntöjä, joilla varmistetaan, että säilössä julkaistaan vain laadukkaita sovelluksia. Jotkut Markkinapaikan sertifiointisäännöt ovat alttiimpia väärille positiivisille, ja niiden ratkaiseminen saattaa vaatia enemmän huomiota.

Etsi vuokraajatunnuksesi

Vuokraajatunnuksesi tarvitaan vuorovaikutukseen ohjelmistorajapintojen kanssa, jotka vaativat tunnuksen. Lue lisätietoja vuokraajatunnuksen hankkimiseen tästä artikkelista. Voit käyttää vuokraajatunnuksen hakemiseen myös PowerShell-komentoja. Seuraavassa esimerkissä käytetään AzureAD-moduulin cmdlet-komentosarjoja.

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

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

Vuokraajatunnus on sen ObjectId-ominaisuuden arvo, joka palautetaan kohteesta Get-AzureADTenantDetail. Voit myös tarkastella sitä, kun olet kirjautunut käyttämällä Connect-AzureAD-cmdlet-komentoa tulosteessa. Tässä tapauksessa sen nimeksi tulee TenantId.

Todentaminen ja hyväksyminen

Sääntöjen ja sääntöjoukkojen kysely ei edellytä OAuth-tunnusta, mutta kaikki muut ohjelmointirajapinnat vaativat tunnuksen. Ohjelmistorajapinnat tukevat hyväksymisten etsintää kutsumalla ohjelmistorajapintoja, jotka vaativat tunnuksen. Vastauksena on luvaton HTTP-tilakoodi 401 ja verkkotodennusotsikko, hyväksynnän URI sekä resurssitunnus. Anna myös vuokraajatunnuksesi x-ms-tenant-id-otsikossa. Katso lisätietoja artikkelista Power Apps Checker authentication and authorization. Seuraavassa esimerkissä on ohjelmistorajapintakyselyn palauttama vastausotsikko:

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

Kun sinulla on nämä tiedot, voit halutessasi käyttää Microsoft Authentication Library (MSAL) tai jotakin muuta mekanismia tunnuksen hankkimiseen. Seuraavassa on esimerkki siitä, miten tämä voidaan tehdä käyttämällä C#-kirjastoa ja MSAL-.NET -kirjastoa:

// 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äydellinen toimiva koodi löytyy Web API:n pika-aloituksen esimerkissä.

Kun olet hankkinut tunnuksen, on suositeltavaa, että annat saman tunnuksen seuraaville kutsuille pyynnön elinkaaressa. Lisäpyynnöt kuitenkin todennäköisesti edellyttävät uuden tunnuksen hankkimista suojaussyistä.

Kuljetusten suojaus

Luokan parasta salausta varten tarkistuspalvelu tukee vain tiedonsiirtoa, jossa käytetään Transport Layer Securityn (TLS) versiota 1.2 tai uudempaa versiota. Ohjeita TLS.NET:n parhaita käytäntöjä varten on Transport Layer Security (TLS) -tason parhaita käytäntöjä .NET Framework:ssä.

Raportin muoto

Ratkaisuanalyysin tuloksena on zip-tiedosto, joka sisältää yhden tai useamman raportin standardoidussa JSON-muodossa. Raportin muoto perustuu staattisen analyysin tuloksiin, joihin viitataan nimellä Static Analysis Results Interchange Format (SARIF). SARIF asiakirjoja voi tarkastella ja käsitellä erilaisilla työkaluilla. Lisätietoja on tällä verkkosivustolla. Tämä palvelu käyttää OASIS-standardin toista versiota.

Katso myös

Sääntöjoukkoluettelon noutaminen
Sääntöluettelon noutaminen
Tiedoston lataaminen
Analyysin käynnistäminen
Analyysin tilan tarkistaminen