Power Apps тексеру құралының веб-API пайдаланыңыз

Power Apps тексеру құралының веб API интерфейсі Microsoft Dataverse платформасының реттеулеріне және кеңейтімдеріне қатысты статикалық талдауды іске қосу механизмін қамтамасыз етеді. Жасаушылар және әзірлеушілер шешімдерде үздік тәжірибе ережелері жинағына қарсы статикалық талдау жүргізіп, осы мәселелік үлгілерді жылдам анықтайды. Қызмет Power Apps жасаушы порталындашешімді тексеру құралы мүмкіндігі үшін логика ұсынады және AppSource жүйесіне жіберілген бағдарламалар үшін автоматтандыру бөлігі ретінде кіреді. Осы жолмен тікелей қызметпен өзара әрекеттесу жергілікті (барлық қолдау көрсетілетін нұсқалар) және онлайн орталардың бөлігі ретінде қамтылған шешімдерді талдауға мүмкіндік береді.

PowerShell кодынан тексеру қызметін пайдалану туралы ақпарат алу үшін PowerShell көмегімен шешімдермен жұмыс істеу бөлімін қараңыз.

Ескертпе

  • Power Apps тексеру құралын пайдалану шешім импорты сәтті болатынына кепілдік бермейді. Шешімге қарсы жүргізілген статикалық талдау тексерістері тағайындалған ортаның конфигурацияланған күйін білмейді және импорттың жетістігі ортадағы басқа шешімдерге немесе конфигурацияларға тәуелді болуы мүмкін.

Балама әдістер

Веб API интерфейстерімен ең төменгі деңгейде өзара әрекеттесу туралы мәліметтерді оқымас бұрын, оның орнына PowerShell модулін, Microsoft.PowerApps.Checker.PowerShell пайдалануды қарастырыңыз. Бұл PowerShell галереясында қолжетімді толық қолдау көрсетілетін құрал. Ағымдағы шектеу Windows PowerShell бағдарламасын қажет етеді. Бұл талапты қанағаттандыра алмасаңыз, API интерфейстерімен тікелей әрекеттесу - ең жақсы әдіс.

Жұмысты бастау

Шешімді талдау ұзаққа созылатын процеске әкелуі мүмкін екенін ескеру маңызды. Ол әдетте сан, өлшем және теңшеулер мен кодтың күрделілігі сияқты әртүрлі факторларға байланысты алпыс (60) секунд пен бес (5) минутқа дейін созылуы мүмкін. Талдау ағыны - бұл көп сатылы және үндестірілмеген бастама, ол жұмысты аяқтауды сұрау үшін пайдаланылатын API күйі көмегімен талдау жұмысын бастайды. Мысал ретінде талдау үшін ағын келесідей болады:

  1. OAuth таңбалауышын алу
  2. Қоңырауды жүктеп салу (параллель әр файл үшін)
  3. Қоңырауды талдау (талдау жұмысын бастайды)
  4. Аяқталғанға дейінгі қоңырау күйі (соңы белгі қойылғанға дейін немесе шектер орындалғанға дейін қоңыраулар арасындағы үзіліспен тұйықталу)
  5. Нәтиже(лер)ді берілген SAS URI мекенжайынан жүктеп алу

Бірнеше өзгеріс:

  • Алдын ала қадам ретінде ережелер жинағын немесе ережелерді іздеуді қосыңыз. Дегенмен, конфигурацияланған немесе күрделі кодталған ережелер жинағы идентификаторына өту шамалы тезірек болады. Сіздің қажеттіліктеріңізге сәйкес келетін ережелер жинағын пайдалану ұсынылады.
  • Жүктеу механизмін пайдаланбауды таңдай аласыз (шектеулерді жүктеуді қараңыз).

Сіз келесі талаптарды анықтауыңыз керек:

Жеке API интерфейстері бойынша құжаттама үшін келесі мақалаларды қараңыз:

Ережелер жинақтарының тізімін шығарып алу
Ережелер тізімін шығарып алу
Файлды кері қотару
Талдауды шақыру
Талдау күйін тексеру

Географияны анықтау

Power Apps тексеру қызметімен әрекеттескенде, файлдар жасалған есептермен бірге Azure жүйесінде уақытша сақталады. Арнайы географиялық API көмегімен деректердің қай жерде сақталатынын басқаруға болады. Географияның соңғы нүктесіне сұраныстар ең жақсы өнімділікке негізделген аймақтық инстанцияға жіберіледі (сұраушыға кешігу). Сұраныс аймақтық қызмет данасына түскеннен кейін, барлық өңделген және сақталған деректер сол аймақта қалады. Кейбір API жауаптары талдау тапсырмасы белгілі бір аймаққа бағытталғаннан кейін кейінгі сұраулар үшін аймақтық дана URL мекенжайларын қайтарады. Әрбір географияда кез келген уақытта кез келген уақытта орналастырылған қызметтің басқа нұсқасы болуы мүмкін. Әртүрлі қызмет нұсқаларын пайдалану толық нұсқа үйлесімділігін қамтамасыз ететін көп сатылы қауіпсіз орналастыру процесіне байланысты. Осылайша, талдаудың өмірлік циклындағы әр 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
Ашық Өнім US Government gov.api.advisor.powerapps.us
Жалпыға ортақ Өнім US Government L4 high.api.advisor.powerapps.us
Жалпыға ортақ Өнім US Government L5 (DOD) mil.api.advisor.appsplatform.us
Жалпыға ортақ Өнім Қытай 21Vianet арқылы басқарылады china.api.advisor.powerapps.cn

Ескертпе

Соңғы мүмкіндіктер мен өзгерістерді біріктіру үшін алдын ала қарау географиясын таңдауға болады. Дегенмен, алдын ала қарау тек Америка Құрама Штаттарының Azure аймақтарын ғана пайдаланатынын ескеріңіз.

Нұсқаларды басқару

Қажет болмаса да, API нұсқасының сұрау жолының параметрін қажетті API нұсқасымен қосу ұсынылады. Ағымдағы API нұсқасы ережелер мен ережелер үшін 2.0 және барлық басқа сұраулар үшін 1.0. Мысалы, келесі ережелер жинағы 2.0 API нұсқасын пайдалануды көрсететін HTTP сұрауы:

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

Берілмеген болса, әдепкі бойынша API соңғы нұсқасы пайдаланылады. Нұсқаның нақты нөмірін пайдалану ұсынылады, себебі үзіліссіз өзгерістер енгізілсе, нұсқа көбейтіледі. Егер сұрауда нұсқаның нөмірі көрсетілсе, кейінгі (сан жағынан үлкенірек) нұсқаларында алдыңғы нұсқалармен үйлесімділік қолдауы сақталады.

Ережелер жинағы және ережелер

Power Apps тексеру құралы іске қосылған кезде ережелер тізімін талап етеді. Бұл ережелер жеке ережелер пішінінде немесе ережелер жинағы деп аталатын ережелер тобында берілуі мүмкін. Ережелер жинағы әр ережені жеке көрсетудің емес ережелер тобын көрсетудің ыңғайлы тәсілі. Мысалы, шешімді тексеру құралы мүмкіндігі Шешімді тексеру құралы деп аталатын ережелер жинағын пайдаланады. Жаңа ережелер қосылған немесе жойылғандықтан, қызмет тұтынушы қолданбаның өзгертуін талап етпестен осы өзгерістерді автоматты түрде қамтиды. Егер ережелер тізімі жоғарыда сипатталғандай автоматты түрде өзгермеуін талап етсеңіз, онда ережелерді жеке көрсетуге болады. Ережелер жинағында шектеусіз бір немесе бірнеше ережелер болуы мүмкін. Ереже ешбір немесе бірнеше ережелер жинағында бола алмайды. Барлық ережелер жинағы тізімін API келесідей шақыру арқылы ала аласыз: [Geographical URL]/api/ruleset. Бұл соңғы нүкте енді аутентификацияны қажет етеді.

Шешімді тексеру құралының ережелер жинағы

Шешімді тексеру құралы ережелерінің жинағында жалған қателерге арналған мүмкіндіктері шектеулі әсер етуші ережелер жинағы бар. Бар шешімге қарсы талдау жүргізілсе, осы ережелер жинағынан бастау ұсынылады. Бұл ережелер жинағы шешімді тексеру мүмкіндігімен пайдаланылады.

AppSource сертификаттау ережелер жинағы

AppSource бағдарламасында бағдарламаларды жариялау кезінде, сіз бағдарламаңызды сертификаттауға тиіссіз. AppSource жүйесінде жарияланған бағдарламалар жоғары сапа стандартына сай болуы қажет. AppSource сертификаттау ережелер жинағы шешімді тексеру ережелер жинағының бөлігі болып табылатын ережелерді және дүкенде тек жоғары сапалы қолданбалардың жариялануын қамтамасыз ететін басқа ережелерді қамтиды. Кейбір AppSource сертификаттау ережелері жалған позитивтерге бейім және оларды шешу үшін көбірек назар аудару қажет болуы мүмкін.

Қатысушының идентификаторын анықтау

Қатысушыңыздың идентификаторы таңбалауышты қажет ететін API интерфейстерімен әрекеттесу үшін қажет. Қатысушы идентификаторын алу жолы туралы осы мақаладан қараңыз. Қатысушы идентификаторын алу үшін PowerShell пәрмендерін пайдалануға болады. Келесі мысал AzureAD модуліндегі командлеттерді қолданады.

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

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

Қатысушы идентификаторы - Get-AzureADTenantDetail жүйесінен кері қайтарылған ObjectId сипатының мәні. Сіз оны cmdlet шығысындағы Connect-AzureAD cmdlet көмегімен кіргеннен кейін көре аласыз. Бұл жағдайда ол TenantId деп аталады.

Түпнұсқалық растама және авторизация

Ережелер мен ережелер жиынын сұрау үшін OAuth таңбалауышы қажет емес, бірақ барлық басқа API интерфейстері таңбалауышты қажет етеді. API интерфейсі таңбалауышты қажет ететін кез келген API шақыру арқылы авторизацияны табуды қолдайды. Жауап WWW-Authenticate тақырыбы, авторизация URI және ресурс идентификаторы бар 401 рұқсатсыз HTTP күй коды болып табылады. Сонымен қатар қатысушы идентификаторын x-ms-tenant-id тақырыбында көрсетуіңіз керек. Қосымша ақпарат алу үшін Power Apps Тексердің аутентификациясы және авторизациясы бөлімін қараңыз. Төменде API сұрауынан қайтарылған жауап тақырыбының мысалы берілген:

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

Бұл ақпаратты алғаннан кейін, таңбалауышты алу үшін Microsoft түпнұсқалық растама кітапханасын (MSAL) немесе басқа механизмді пайдалануды таңдауға болады. Төменде мұны C# және 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();

Толық жұмыс кодын алу үшін Web API QuickStart үлгісін қараңыз.

Белгішені алғаннан кейін сұраудың өмірлік циклінде келесі қоңырауларға бірдей таңбалауышты қамтамасыз ету ұсынылады. Дегенмен, көбірек сұраулар қауіпсіздік мақсатында жаңа таңбалауышты сатып алуға кепілдік беруі мүмкін.

Транспорт қауіпсіздігі

Сыныптағы ең жақсы шифрлау үшін тексеру қызметі тек Transport Layer Security (TLS) 1.2 және одан жоғары нұсқасын пайдаланатын байланыстарды қолдайды. TLS айналасындағы .NET ең жақсы тәжірибелері туралы ақпарат алу үшін .NET Framework нұсқасымен Транспорт деңгейі қауіпсіздігінің (TLS) ең жақсы тәжірибесі бөлімін қараңыз.

Есеп пішімі

Шешімді талдау нәтижесі стандартталған JSON пішіміндегі бір немесе бірнеше есептерді қамтитын zip файлы болып табылады. Есептің пішімі Статикалық талдау нәтижелерін алмастыру пішімі (SARIF) деп аталатын статикалық талдау нәтижелеріне негізделген. SARIF құжаттарын көруге және өзара әрекеттесуге арналған құралдар бар. Толығырақ ақпарат алу үшін веб-сайтты қараңыз. Қызмет OASIS стандартының екінші нұсқасын пайдаланады.

Келесіні де қараңыз:

Ережелер жинақтарының тізімін шығарып алу
Ережелер тізімін шығарып алу
Файлды кері қотару
Талдауды шақыру
Талдау күйін тексеру