Делите путем


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

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

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

Белешка

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

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

Пре читања кроз детаље о интеракцији на најнижем нивоу са Веб АПИ-јем, размислите о коришћењу нашег ПоwерСхелл модула, Мицрософт. PowerApps. Цхецкер .ПоwерСхелл, уместо тога. То је потпуно подржан алат који је доступан у ПоwерСхелл галерији. Тренутно ограничење је да захтева 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 за све остале захтеве. На пример, следећи налог правила је ХТТП захтев који одређује коришћење 2.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

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

Упит за правила и правила не захтева ознаку ОАутх, али сви остали АПИ-и захтевају симбол. API-ји подржавају откривање ауторизације позивањем било којег API-ја за који је потребан токен. Одговор је неовлашћени ХТТП статусни кôд 401 са заглављем WWW-Аутхентицате, УРИ ауторизацијом и ИД-ом ресурса. Такође би требало да наведете свој 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/"

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

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

Комплетан радни кôд погледајте у узорку Wеб АПИ QуицкСтарт.

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

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

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

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

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

Погледајте и

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