Share via


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 से परिणाम डाउनलोड करें

कुछ भिन्नताएँ निम्न हैं:

  • पूर्व-चरण के रूप में नियम-सेट या नियमों का लुकअप शामिल करें. हालाँकि, कॉन्फ़िगर या हार्ड कोडिड नियम-सेट ID में पास करना थोड़ा तेज़ होगा. यह अनुशंसा की जाती है कि आप एक ऐसे नियम-सेट का उपयोग करें, जो आपकी आवश्यकताओं को पूरा करता हो.
  • आप अपलोड प्रणाली का उपयोग नहीं करने का विकल्प चुन सकते हैं (सीमाओं के लिए अपलोड देखें).

आपको निम्नलिखित आवश्यकताएं निर्धारित करनी होंगी:

अलग-अलग 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
सार्वजनिक उत्पादन स्वीडन sweden.api.advisor.powerapps.com
सार्वजनिक उत्पादन US सरकार gov.api.advisor.powerapps.us
सार्वजनिक उत्पादन US सरकार L4 high.api.advisor.powerapps.us
सार्वजनिक उत्पादन US सरकार L5 (DOD) mil.api.advisor.appsplatform.us
सार्वजनिक उत्पादन चीन 21Vianet द्वारा संचालित है china.api.advisor.powerapps.cn

नोट

आप प्रारंभिक रूप से नवीनतम सुविधाओं और परिवर्तनों को शामिल करने के लिए पूर्वावलोकन भूगोल का उपयोग करना चुन सकते हैं. हालाँकि, ध्यान दें कि पूर्वावलोकन संयुक्त राज्य अमेरिका के Azure क्षेत्रों का ही उपयोग करता है.

वर्ज़निंग

यद्यपि यह आवश्यक नहीं है, फिर भी वांछित API संस्करण के साथ api-version क्वेरी स्ट्रिंग पैरामीटर को शामिल करना अनुशंसित है। वर्तमान API संस्करण नियम-सेट और नियमों के लिए 2.0 है तथा अन्य सभी अनुरोधों के लिए 1.0 है। उदाहरण के लिए, निम्नलिखित नियम-सेट एक HTTP अनुरोध है जो 2.0 API संस्करण का उपयोग करने को निर्दिष्ट करता है:

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

अपनी टैनेंट ID खोजें

आपके टैनेंट की ID को ऐसे API के साथ सहभागिता करने की आवश्यकता होती है, जिनके लिए टोकन आवश्यक होता है. टैनेंट ID प्राप्त करने के बारे में जानकारी के लिए, यह आलेख देखें. आप टैनेंट ID पुनर्प्राप्त करने के लिए PowerShell आदेशों का उपयोग भी कर सकते हैं. निम्न उदाहरण AzureAD मॉड्यूल में cmdlets लागू करता है.

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

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

टैनेंट ID ObjectId गुण का वह मान है, जो Get-AzureADTenantDetail से लौटाया जाता है. आप Connect-AzureAD cmdlet का उपयोग करके cmdlet आउटपुट में लॉगिन करके भी इसे देख सकते हैं. इस स्थिति में, इसका नाम TenantId होगा।

प्रमाणीकरण और प्रमाणन

नियमों और नियम-सेटों के लिए क्वेरी करने के लिए OAuth टोकन की आवश्यकता नहीं होती है, लेकिन अन्य सभी API के लिए टोकन की आवश्यकता होती है। API किसी भी ऐसे API को कॉल करने पर प्रमाणन खोज का समर्थन नहीं करते हैं, जिनके लिए टोकन आवश्यक होता है. प्रतिक्रिया एक अनधिकृत HTTP स्थिति कोड 401 है जिसमें WWW-Authenticate हेडर, प्राधिकरण URI और संसाधन ID शामिल है। आपको x-ms-tenant-id हेडर में अपनी टैनेंट 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/"

एक बार आपके पास यह जानकारी आ जाए, तो आप टोकन प्राप्त करने के लिए माइक्रोसॉफ्ट ऑथेंटिकेशन लाइब्रेरी (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();

पूर्ण कार्यशील कोड के लिए, वेब API क्विकस्टार्ट नमूना देखें.

एक बार जब आप टोकन प्राप्त कर लेते हैं, तो यह सलाह दी जाती है कि आप अनुरोध जीवनचक्र में आगामी कॉलों को भी वही टोकन प्रदान करें। हालाँकि, अधिक अनुरोधों के कारण सुरक्षा कारणों से नया टोकन प्राप्त करना आवश्यक हो सकता है।

परिवहन सुरक्षा

सर्वोत्तम एन्क्रिप्शन के लिए, चेकर सेवा केवल ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) 1.2 और उच्चतर का उपयोग करने वाले संचार का समर्थन करती है। TLS में .NET श्रेष्ठ व्‍यवहार पर मार्गदर्शन के लिए, .NET Framework के साथ ट्रांस्पोर्ट लेयर सिक्योरिटी (TLS) श्रेष्ठ व्‍यवहार देखें.

रिपोर्ट स्वरूप

समाधान विश्लेषण का परिणाम एक ज़िप फ़ाइल होती है, जिसमें एक या अधिक रिपोर्ट मानकीकृत JSON स्वरूप में होती हैं. रिपोर्ट स्वरूप स्थैतिक विश्लेषण परिणामों पर आधारित होता है, जिसे स्थैतिक विश्लेषण परिणाम इंटरचेंज स्वरूप (SARIF) कहा जाता है. SARIF दस्तावेजों को देखने और उनके साथ सहभागिता करने के लिए उपकरण उपलब्ध हैं. विवरण के लिए यह वेबसाइट देखें. यह सेवा OASIS मानक के दूसरे संस्करण का उपयोग करती है।

भी देखें

नियमसेट की सूची पुनः प्राप्त करें
नियमों की सूची पुनः प्राप्त करें
फ़ाइल अपलोड करें
विश्लेषण इनवोक करें
विश्लेषण की स्थिति के लिए जाँच करें