Делите путем


Коришћење Web API-ја за Power Apps контролор

Power Apps провера веб API-ја нуди механизам за покретање провера статичке анализе у односу на прилагођавања и проширења на Microsoft Dataverse платформи. Ауторима и програмерима је доступно обављање обогаћених провера статичке анализе њихових решења у односу на скуп правила најбољих пракси да би брзо идентификовали проблематичне шаблоне. Услуга пружа логику за функцију провере решења на порталу за Power Apps ауторе и укључена је као део аутоматизације за апликације прослеђене у AppSource. Интеракција са услугом директно на овај начин омогућава анализу решења која су укључена као део локални (све подржане верзије) и онлине окружења.

За информације о коришћењу услуге за проверу из ПоверСхелл кода, погледајте Рад са решењима која користе ПоверСхелл.

Белешка

  • Употреба Power Apps контролора не гарантује да ће увоз решења бити успешан. Провере статичке анализе извршене према решењу не знају како је конфигурисано стање одредишног окружења, а успех увоза може зависити од других решења или конфигурација у окружењу.

Алтернативни приступи

Пре него што прочитате детаље о томе како да комуницирате на најнижем нивоу са веб АПИ-јима, размислите о коришћењу нашег ПоверСхелл модула, Microsoft. PowerApps. Цхецкер .ПоверСхелл, уместо тога. То је потпуно подржан алат који је доступан у ПоверСхелл галерији. Тренутно ограничење је да захтева Windows PowerShell. Ако не можете да испуните овај захтев, онда је интеракција са АПИ-јима директно најбољи приступ.

Први кораци

Важно је напоменути да анализа решења може резултирати дуготрајним процесом. Обично може трајати шездесет (60) секунди до више од пет (5) минута у зависности од различитих фактора, као што су број, величина и сложеност прилагођавања и кода. Ток анализе је вишестепени и асинхрон, почев од започињања посла анализе помоћу API-ја статуса који се користи за упит за довршавање посла. Следи пример тока за анализу:

  1. Добијте OAuth токен
  2. Отпремање позива (за сваку датотеку паралелно)
  3. Анализа позива (покреће посао анализе)
  4. Статус позива до завршетка (петља са паузом између позива док се не сигнализира крај или се не досегну прагови)
  5. Преузимање резултата са обезбеђеног SAS URI-ја

Неколико варијација су:

  • Укључите проналажење скупа правила или правила као предкорак. Међутим, било би мало брже да проследите ID конфигурисаног или директно кодираног скупа правила. Препоручујемо вам да користите скуп правила која задовољавају ваше потребе.
  • Можете да одлучите да не користите механизам за отпремање (погледајте ограничења за пренос).

Потребно је да одредите следеће услове:

Погледајте следеће чланке за документацију о појединачним АПИ-јима:

Преузмите листу скупова правила
Преузмите листу правила
Отпремите датотеку
Позивање на анализу
Провера статуса анализе

Одређивање географије

Када ступите у интеракцију са услугом Power Apps провјере, датотеке се привремено чувају у Азуре заједно са извештајима који се генеришу. Коришћењем API-ја специфичног за географску област, можете контролисати где се подаци чувају. Захтеви за географску крајњу тачку усмеравају се на регионалну инстанцу на основу најбољих перформанси (кашњење до подносиоца захтева). Када захтев уђе у инстанцу регионалне услуге, сви подаци о обради и трајни подаци остају у том одређеном региону. Одређени АПИ одговори враћају УРЛ-ове регионалних инстанци за наредне захтеве када се посао анализе преусмери у одређени регион. Свака географија може имати другачију верзију услуге распоређене у било ком тренутку. Коришћење различитих верзија услуга је због вишестепеног сигурног процеса распоређивања, који обезбеђује компатибилност пуне верзије. Дакле, иста географија би требало да се користи за сваки API позив у животном циклусу анализе и може смањити укупно време извршавања, јер подаци можда неће морати да путују толико далеко преко жице. Следе доступне географске области:

Azure центар података Назив Географска област Основни URI
Јавно Верзија за преглед САД unitedstatesfirstrelease.api.advisor.powerapps.com
Јавно Производња САД unitedstates.api.advisor.powerapps.com
Јавно Производња Европа europe.api.advisor.powerapps.com
Јавно Производња Азија asia.api.advisor.powerapps.com
Јавно Производња Аустралија australia.api.advisor.powerapps.com
Јавно Производња Јапан japan.api.advisor.powerapps.com
Јавно Производња Индија india.api.advisor.powerapps.com
Јавно Производња Канада canada.api.advisor.powerapps.com
Јавно Производња Јужна Америка southamerica.api.advisor.powerapps.com
Јавно Производња Уједињено Краљевство unitedkingdom.api.advisor.powerapps.com
Јавно Производња Француска france.api.advisor.powerapps.com
Јавна Продукција Немачка germany.api.advisor.powerapps.com
Јавна Продукција Уједињени Арапски Емирати unitedarabemirates.api.advisor.powerapps.com
Јавна Продукција Швајцарска switzerland.api.advisor.powerapps.com
Јавна Продукција Јужноафричка Република southafrica.api.advisor.powerapps.com
Јавна Продукција Јужна Кореја korea.api.advisor.powerapps.com
Јавна Продукција Норвешка norway.api.advisor.powerapps.com
Јавна Продукција Сингапур singapore.api.advisor.powerapps.com
Јавна Продукција Шведска sweden.api.advisor.powerapps.com
Јавна Продукција US Government gov.api.advisor.powerapps.us
Јавно Производња Државне институције САД L4 high.api.advisor.powerapps.us
Јавно Производња Државне институције САД L5 (DOD) mil.api.advisor.appsplatform.us
Јавно Производња Кина, управља 21Vianet china.api.advisor.powerapps.cn

Белешка

Можете одабрати да користите географску област за преглед да бисте раније укључили најновије функције и измене. Међутим, имајте на уму да се за преглед користи само Azure регион у САД.

Креирање верзија

Иако није потребно, препоручује се да укључите параметар низа упита АПИ-версион са жељеном верзијом АПИ-ја. Тренутна верзија АПИ-ја је 2.0 за скупове правила и правила и 1.0 за све остале захтеве. На пример, следећи скуп правила је ХТТП захтев који одређује да користи КСНУМКС АПИ верзију:

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

Ако није обезбеђен, најновија верзија АПИ-ја се подразумевано користи. Коришћење експлицитног броја верзије се препоручује јер се верзија повећава ако се уводе разбијајуће измене. Ако је број верзије наведен у захтеву, одржаће се подршка за компатибилност са старијим верзијама у каснијим (бројчано већим) верзијама.

Скупови правила и правила

Power Apps контролор захтева листу правила када се покрене. Та правила се могу наводити у облику појединачних правила или групе правила која се назива скуп правила. Скуп правила је прикладан начин за одређивање групе правила уместо да се свако правило појединачно одређује. На пример, функција провере решења користи скуп правила под називом Провера решења. Како се нова правила додају или уклањају, услуга аутоматски укључује ове промене без потребе за било каквом променом од стране апликације која троши. Ако желите да се листа правила не мења аутоматски као што је горе описано, онда се правила могу одредити појединачно. Скупови правила могу имати једно или више правила без ограничења. Правило може бити без скупа правила или у више скупова правила. Листу свих скупова правила можете добити тако што ћете позвати API на следећи начин: [Geographical URL]/api/ruleset. Овај < ДИЦТ__крајња тачка > ендпоинт сада захтева аутентификацију.

Скуп правила за проверу решења

Скуп правила за проверу решења садржи скуп утицајних правила која имају ограничене шансе за лажне позитивне резултате. Ако покрећете анализу у односу на постојеће решење, препоручује се да почнете са овим сетом правила. Овај скуп правила користи функција за проверу решења.

AppSource сет правила сертификације

Приликом објављивања апликација на локацији AppSource, морате сертификовати апликацију. Пријаве објављене на AppSource морају задовољити високе стандарде квалитета. Скуп AppSource правила за сертификацију садржи правила која су део правила за проверу решења, као и друга правила како би се осигурало да се у продавници објављују само апликације високог квалитета. Нека од AppSource правила сертификације су склонији лажним позитивним резултатима и могу захтевати више пажње за решавање.

Пронађите ID свог закупца

ID вашег закупца је потребан за интеракцију са API-јима који захтевају токен. Погледајте Овај чланак за детаље о томе како да добијете ID закупца. Такође можете да користите PowerShell команде да бисте преузели ID закупца. Следећи пример примењује цмдлете у модулу АзуреАД.

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

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

ID закупца је вредност својства ObjectId коју враћа функција Get-AzureADTenantDetail. Можете га видети и након што се пријавите користећи cmdlet команду Connect-AzureAD на излазу cmdlet команде. У овом случају, то ће бити именовано TenantId.

Потврда идентитета и ауторизација

Упит за правила и скупове правила не захтевају OAuth токен, али сви остали АПИ-ји захтевају токен. API-ји подржавају откривање ауторизације позивањем било којег API-ја за који је потребан токен. одговор је неовлашћени ХТТП статусни код 401 са ВВВ-Аутхентицате заглављем, ауторизацијским УРИ-јем и ИД-ом ресурса. Такође би требало да наведете свој ID закупца у заглављу x-ms-tenant-id. Погледајте Power Apps Цхецкер аутентификацију и ауторизацију за више информација. Следи пример одговор заглавља враћеног из АПИ захтева:

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

Када добијете ове информације, можете да изаберете да користите библиотеку Microsoft за аутентификацију (МСАЛ) или неки други механизам за стицање токена. Следи пример како се то може урадити коришћењем Ц# и МСАЛ .НЕТ библиотеке :

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

За комплетан радни код, погледајте Веб АПИ КуицкСтарт пример.

Када сте стекли токен, саветује се да обезбедите исти токен за наредне позиве у животном циклусу захтева. Међутим, више захтева може гарантовати нови токен да се стекне из безбедносних разлога.

Безбедност у транспорту

За најбољу енкрипцију у класи, услуга провјере подржава само комуникацију користећи Транспорт слој Сецурити (ТЛС) 1.2 и више. Као упутство о најбољим .NET праксама у вези са TLS-ом, погледајте Најбоље праксе за Transport Layer Security (TLS) са платформом .NET Framework.

Формат извештаја

Резултат анализе решења је ZIP датотека која садржи један или више извештаја у стандардизованом JSON формату. Формат извештаја је заснован на резултатима статичке анализе која се назива „формат размене резултата статичке анализе“ (SARIF). На располагању су вам алати за приказ и интеракцију са SARIF документима. Погледајте ову веб-локацију за детаље. Услуга користи другу верзију ОАСИС стандарда.

Погледајте и

Преузмите листу скупова правила
Преузмите листу правила
Отпремите датотеку
Позивање на анализу
Провера статуса анализе