التحقق من حالة التحليل
يتم إرجاع عنوان URL كجزء من رأس Location
استجابة لطلب إلى واجهة برمجة تطبيقات analyze
. سيتم استخدامه في الاستعلام عبر HTTP GET
لحالة مهمة التحليل. عند انتهاء مهمة التحليل، سيتضمن نص الاستجابة عنوان URL أو قائمة عناوين URL حيث يمكن تنزيل مخرجات النتائج. تابع استدعاء URI هذا حتى يتم إرجاع رمز الحالة 200 لـ HTTP. بينما لا تزال المهمة قيد التشغيل، سيتم إرجاع رمز الحالة 202 لـ HTTP مع رأس Location
الذي يحتوي على URI نفسه الذي يتم إرجاعه من analyze
. بمجرد إرجاع استجابة 200، ستتضمن الخاصية resultFileUris
موقعًا واحدًا قابلاً للتنزيل أو قائمة مواقع قابلة للتنزيل للمخرجات، التي يحتوي عليها ملف zip. يتم تضمين ملف منسق بحسب Static Analysis Results Interchange Format (SARIF) V2 مع تنزيل ملف zip هذا وهو ملف منسق JSON
يحتوي على نتائج التحليل. سيحتوي نص الاستجابة على كائن IssueSummary
يحتوي على ملخص لعدد المشكلات التي تم العثور عليها.
ملاحظة
من المستحسن الانتظار ما بين 15 إلى 60 ثانية بين عمليات التحقق من الحالة. يستغرق التحليل عادةً ما بين دقيقة إلى 5 دقائق كي يعمل.
تتطلب واجهة برمجة التطبيقات هذه رمزا OAuth مميزا يجب أن يكون رمزا مميزا لنفس تطبيق العميل الذي بدأ مهمة التحليل.
الرؤوس
الاسم | نوع | القيمة المتوقعة | مطلوب؟ |
---|---|---|---|
التصريح | string | OAuth الرمز المميز للحامل 1 مع Microsoft Entra مطالبة معرف التطبيق. | نعم |
x-ms-tenant-id | معرف Guid | معرف المستأجر الخاص بالتطبيق. | نعم |
x-ms-correlation-id | GUID | معرف تشغيل التحليل. يجب عليك توفير المعرف نفسه للتنفيذ بالكامل (التحميل والتحليل والحالة) | نعم |
الاستجابات المتوقعة
رمز حالة HTTP | السيناريو | نتيجة |
---|---|---|
200 | تم العثور على نتيجة أو أكثر | انظر المثال أدناه. سيتم إرجاع نتيجة واحدة. |
202 | المعالجة ما زالت جارية | انظر المثال أدناه. سيتم إرجاع نتيجة واحدة. |
403 | محظور | الطالب ليس هو نفسه منشئ طلب التحليل. |
404 | غير موجود | لا يمكن العثور على طلب التحليل مع المرجع المتوفر في URL. |
رؤوس الاستجابة المتوقعة
الاسم | كتابة | القيمة المتوقعة | مطلوب؟ |
---|---|---|---|
الموقع | URI | عنوان URI الذي سيتم استخدامه في الاستعلام عن الحالة الحالية والحصول على النتائج | نعم |
نص الاستجابة المتوقعة
يوضح الجدول التالي بنية الاستجابة لكل طلب (استجابة HTTP 200 أو 202 فقط).
الخاصية | كتابة | القيمة المتوقعة | مطلوب؟ |
---|---|---|---|
privacyPolicy | string | URI الخاص بسياسة الخصوصية. | نعم |
التقدم | العدد الصحيح | قيمة تتراوح من نسبة اكتمال من 0 إلى 100، حيث تعين النسبة 10 أن المعالجة مكتملة بنسبة 10% تقريبًا. | نعم |
runCorrelationId | GUID | معرف الطلب المضمن في كل طلب. ويمكن استخدامه للربط مع الطلب، إذا لزم الأمر. | نعم |
الحالة | string | InProgress يتم إرجاعها عندما لا تزال المهمة قيد المعالجة. Failed يتم إرجاعها عند وجود مشكلة كارثية في معالجة المهمة على الخادم. يجب أن يكون هناك المزيد من التفاصيل في خاصية الخطأ. Finished يتم إرجاعها عند اكتمال المهمة بنجاح دون مشاكل. FinishedWithErrors يتم إرجاعها عند اكتمال المهمة بنجاح، ومع ذلك، فشلت قاعدة واحدة أو أكثر في الإكمال دون أخطاء. هذه إشارة لك كي تعلم أن التقرير قد لا يكون كاملاً. Microsoft على دراية بهذه المشكلات في الواجهة الخلفية وسيعمل على تشخيص الأمور ومعالجتها. |
نعم |
resultFileUris | صفيف سلاسل | قائمة URI تسمح بالتنزيل المباشر للمخرجات. يجب أن يكون هناك واحد لكل ملف تم تضمينه في استدعاء واجهة برمجه تطبيقات التحليل الأصلية. | لا. يتم تضمين هذا فقط عند اكتمال المعالجة. |
issueSummary | IssueSummary | الخصائص المذكورة أدناه | لا. يتم تضمين هذا فقط عند اكتمال المعالجة. |
issueSummary.criticalIssueCount | العدد الصحيح | عدد المشاكل التي تم تحديدها والتي تحتوي على خطورة حرجة في النتيجة | نعم |
issueSummary.highIssueCount | العدد الصحيح | عدد المشاكل التي تم تحديدها والتي تحتوي على خطورة عالية في النتيجة | نعم |
issueSummary.mediumIssueCount | العدد الصحيح | عدد المشاكل التي تم تحديدها والتي تحتوي على خطورة متوسطة في النتيجة | نعم |
issueSummary.lowIssueCount | العدد الصحيح | عدد المشاكل التي تم تحديدها والتي تحتوي على خطورة منخفضة في النتيجة | نعم |
issueSummary.informationalIssueCount | العدد الصحيح | عدد المشاكل التي تم تحديدها والتي تحتوي على خطورة معلوماتية في النتيجة | نعم |
مثال: التحقق من الحالة عند الانتهاء
يصدر هذا المثال استدعاء فحص الحالة مع نتيجة الإكمال.
طلب
GET [Geographical URI]/api/status/aaaa0000-bb11-2222-33cc-444444dddddd&api-version=1.0
Accept: application/json
Content-Type: application/json; charset=utf-8
x-ms-correlation-id: aaaa0000-bb11-2222-33cc-444444dddddd
x-ms-tenant-id: aaaabbbb-0000-cccc-1111-dddd2222eeee
رد
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"privacyPolicy":"https://go.microsoft.com/fwlink/?LinkID=310140",
"progress":100,
"resultFileUris":["https://fakeblob.blob.core.windows.net/report-files/mySolution.zip?sv=2017-11-09&sr=b&sig=xyz&se=2019-06-11T20%3A27%3A59Z&sp=rd"],"runCorrelationId":"aaaa0000-bb11-2222-33cc-444444dddddd","status":"Finished","issueSummary":
{
"informationalIssueCount":0,
"lowIssueCount":0,
"mediumIssueCount":302,
"highIssueCount":30,
"criticalIssueCount":0
}
}
راجع أيضًا
استخدام واجهة برمجة تطبيقات الويب المدقق Power Apps
استرداد قائمة مجموعات القواعد
استرداد قائمة القواعد
تحميل ملف
استدعاء التحليل