أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info

ما هي الإعلانات الترويجية؟
تتيح لك سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" فرض التحقّق من مفاتيح واجهة برمجة التطبيقات في وقت التشغيل، ما يتيح فقط للتطبيقات التي تتضمّن مفاتيح واجهة برمجة تطبيقات معتمَدة الوصول إلى واجهات برمجة التطبيقات. تضمن هذه السياسة أنّ مفاتيح واجهة برمجة التطبيقات صالحة ولم يتم إبطالها، وأنّه تمت الموافقة عليها لاستهلاك الموارد المحدّدة المرتبطة بمنتجات واجهة برمجة التطبيقات.
نماذج
المفتاح في مَعلمة طلب البحث
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.apikey" /> </VerifyAPIKey>
في هذا المثال، تتوقّع السياسة العثور على مفتاح واجهة برمجة التطبيقات في متغيّر سير عمل يُسمّى request.queryparam.apikey
. المتغيّر request.queryparam.{name}
هو متغيّر عادي في تدفق Edge يتم ملؤه بقيمة مَعلمة طلب بحث تم تمريرها
في طلب العميل.
يمرِّر الأمر curl
التالي مفتاح واجهة برمجة التطبيقات في مَعلمة طلب بحث:
curl http://myorg-test.apigee.net/mocktarget?apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls
المفتاح في العنوان
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey" /> </VerifyAPIKey>
في هذا المثال، تتوقّع السياسة العثور على مفتاح واجهة برمجة التطبيقات في متغيّر سير عمل يُسمى request.header.x-apikey
. المتغيّر request.header.{name}
هو متغيّر عادي في تدفق Edge يتم ملؤه بقيمة عنوان تم تمريره
في طلب العميل.
يوضّح cURL التالي كيفية تمرير مفتاح واجهة برمجة التطبيقات في العنوان:
curl "http://myorg-test.apigee.net/mocktarget" -H "x-apikey:IEYRtW2cb7A5Gs54A1wKElECBL65GVls"
المفتاح في المتغيّر
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="requestAPIKey.key"/> </VerifyAPIKey>
يمكن أن تشير السياسة إلى أي متغيّر يحتوي على المفتاح. تستخرج السياسة في هذا المثال مفتاح واجهة برمجة التطبيقات من متغيّر اسمه requestAPIKey.key.
ويعود إليك تحديد كيفية تعبئة هذا المتغيّر. على سبيل المثال، يمكنك استخدام سياسة "استخراج المتغيرات" لتعبئة requestAPIKey.key من مَعلمة طلب بحث باسم myKey، كما هو موضّح أدناه:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="SetAPIKeyVar"> <Source>request</Source> <QueryParam name="myKey"> <Pattern ignoreCase="true">{key}</Pattern> </QueryParam> <VariablePrefix>requestAPIKey</VariablePrefix> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ExtractVariables>
متغيّرات مسار سياسة الوصول
<AssignMessage async="false" continueOnError="false" enabled="true" name="accessverifyvars"> <AssignVariable> <Name>devFirstName</Name> <Ref>verifyapikey.verify-api-key.developer.firstName</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <AssignVariable> <Name>devLastName</Name> <Ref>verifyapikey.verify-api-key.developer.lastName</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <AssignVariable> <Name>devEmail</Name> <Ref>verifyapikey.verify-api-key.developer.email</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
يملأ Edge تلقائيًا مجموعة من متغيرات التدفق عند تنفيذ سياسة Verify API Key لمفتاح واجهة برمجة تطبيقات صالح. يمكنك استخدام هذه المتغيرات للوصول إلى معلومات مثل اسم التطبيق ومعرّف التطبيق ومعلومات عن المطوّر أو الشركة الذين سجّلوا التطبيق. في المثال أعلاه، يمكنك استخدام سياسة "تحديد الرسالة" للوصول إلى الاسم الأول واسم العائلة وعنوان البريد الإلكتروني للمطوّر بعد تنفيذ سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات".
يتم وضع البادئة التالية قبل كل هذه المتغيرات:
verifyapikey.{policy_name}
في هذا المثال، اسم سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" هو verify-api-key. لذلك، يمكنك الرجوع إلى الاسم الأول للمطوّر الذي يقدّم الطلب من خلال الوصول إلى المتغيّر verifyapikey.verify-api-key.developer.firstName.
.
Learn Edge
لمحة عن سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات"
عندما يسجّل مطوّر تطبيقًا على Edge، ينشئ Edge تلقائيًا زوجًا من مفتاح المستهلك والسّر. يمكنك الاطّلاع على مفتاح المستهلك وكلمة المرور السرية للتطبيق في واجهة مستخدم Edge أو الوصول إليهما من خلال Edge API.
عند تسجيل التطبيق، يختار المطوّر منتجًا واحدًا أو أكثر من منتجات واجهة برمجة التطبيقات لربطها بالتطبيق، حيث يكون منتج واجهة برمجة التطبيقات عبارة عن مجموعة من الموارد التي يمكن الوصول إليها من خلال خوادم وكيلة لواجهة برمجة التطبيقات. بعد ذلك، يمرّر المطوّر مفتاح واجهة برمجة التطبيقات (مفتاح المستهلك) كجزء من كل طلب إلى واجهة برمجة تطبيقات في منتج واجهة برمجة تطبيقات مرتبط بالتطبيق. يمكنك الاطّلاع على نظرة عامة حول النشر لمزيد من المعلومات.
يمكن استخدام مفاتيح واجهة برمجة التطبيقات كرموز مميزة للمصادقة، أو يمكن استخدامها للحصول على رموز مميزة للوصول عبر OAuth. في OAuth، يُشار إلى مفاتيح واجهة برمجة التطبيقات باسم "معرّف العميل". ويمكن استخدام الأسماء بالتبادل. يمكنك الاطّلاع على الصفحة الرئيسية لبروتوكول OAuth لمعرفة المزيد.
يملأ Edge تلقائيًا مجموعة من متغيرات التدفق عند تنفيذ سياسة Verify API Key. يمكنك الاطّلاع على متغيّرات التدفق أدناه للحصول على مزيد من المعلومات.
مرجع العنصر
في ما يلي العناصر والسمات التي يمكنك ضبطها في هذه السياسة:
<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1"> <DisplayName>Custom label used in UI</DisplayName> <APIKey ref="variable_containing_api_key"/> </VerifyAPIKey>
سمات <VerifyAPIKey>
يوضّح المثال التالي السمات في العلامة <VerifyAPIKey>
:
<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1">
يصف الجدول التالي السمات المشتركة بين جميع العناصر الرئيسية للسياسة:
السمة | الوصف | تلقائي | التواجد في المنزل |
---|---|---|---|
name |
الاسم الداخلي للسياسة. يمكن لقيمة السمة يمكنك، إذا أردت، استخدام العنصر |
لا ينطبق | مطلوب |
continueOnError |
اضبط القيمة على يمكنك ضبط القيمة على |
خطأ | اختياري |
enabled |
اضبط القيمة على اضبط القيمة على |
صحيح | اختياري |
async |
تم إيقاف هذه السمة نهائيًا. |
خطأ | منهي العمل به |
<DisplayName> عنصر
استخدِمه مع السمة name
لتصنيف السياسة في
إدارة خادم وكيل لواجهة المستخدم باسم مختلف بلغة طبيعية.
<DisplayName>Policy Display Name</DisplayName>
تلقائي |
لا ينطبق إذا لم تستخدم هذا العنصر، سيتم ضبط قيمة السمة |
---|---|
التواجد في المنزل | اختياري |
النوع | سلسلة |
العنصر <APIKey>
يحدّد هذا العنصر متغيّر التدفق الذي يحتوي على مفتاح واجهة برمجة التطبيقات. عادةً، يرسل العميل مفتاح واجهة برمجة التطبيقات
في مَعلمة طلب بحث أو عنوان HTTP أو مَعلمة نموذج. على سبيل المثال، إذا تم إرسال المفتاح في عنوان يُسمّى x-apikey
، سيتم العثور على المفتاح في المتغيّر: request.header.x-apikey
تلقائي | غير متاح |
---|---|
التواجد في المنزل | مطلوب |
النوع | سلسلة |
السمات
يوضّح الجدول التالي سمات العنصر <APIKey>
.
السمة | الوصف | تلقائي | التواجد في المنزل |
---|---|---|---|
ref |
مرجع إلى المتغيّر الذي يحتوي على مفتاح واجهة برمجة التطبيقات يُسمح بموقع جغرافي واحد فقط لكل سياسة. |
لا ينطبق | مطلوب |
أمثلة
في هذه الأمثلة، يتم تمرير المفتاح في المَعلمات وفي عنوان يُسمّى x-apikey
.
كمَعلمة طلب بحث:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.x-apikey"/> </VerifyAPIKey>
كعنوان HTTP:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey"/> </VerifyAPIKey>
كمَعلمة نموذج HTTP:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.formparam.x-apikey"/> </VerifyAPIKey>
المخططات
متغيّرات سير العمل
عند فرض سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" على مفتاح صالح لواجهة برمجة التطبيقات، تملأ Edge مجموعة من متغيرات التدفق. تتوفّر هذه المتغيّرات للسياسات أو الرموز التي يتم تنفيذها لاحقًا في التسلسل، ويتم استخدامها غالبًا لتنفيذ معالجة مخصّصة استنادًا إلى سمات مفتاح واجهة برمجة التطبيقات، مثل اسم التطبيق أو منتج واجهة برمجة التطبيقات المستخدَم لتخويل المفتاح أو السمات المخصّصة لمفتاح واجهة برمجة التطبيقات.
تعبئ السياسة عدة أنواع مختلفة من متغيرات التدفق، بما في ذلك:
- للجمهور العام
- تطبيق
- مطور التطبيق
- الشركة
- إحصاءات Google
يحتوي كل نوع من متغيرات التدفق على بادئة مختلفة. جميع المتغيرات هي قيم عددية باستثناء تلك التي تم تحديدها على وجه التحديد كمصفوفات.
متغيّرات سير العمل العامة
يسرد الجدول التالي متغيّرات التدفق العامة التي تتم تعبئتها بواسطة سياسة Verify API Key. يتم وضع البادئة التالية قبل كل هذه المتغيرات:
verifyapikey.{policy_name}
مثلاً: verifyapikey.{policy_name}.client_id
تشمل المتغيرات المتاحة ما يلي:
متغيّر | الوصف |
---|---|
client_id |
مفتاح المستهلك (المعروف أيضًا باسم مفتاح واجهة برمجة التطبيقات أو مفتاح التطبيق) الذي يوفّره التطبيق الذي يرسل الطلب |
client_secret |
السرّ الاستهلاكي المرتبط بمفتاح المستهلك |
redirection_uris |
تمثّل هذه السمة أي معرّفات موارد منتظمة (URI) لإعادة التوجيه في الطلب. |
developer.app.id |
معرّف تطبيق المطوّر الذي يقدّم الطلب |
developer.app.name |
اسم تطبيق المطوّر الذي يقدّم الطلب. |
developer.id |
معرّف المطوِّر المسجَّل كمالك للتطبيق الذي يقدّم الطلب |
developer.{custom_attrib_name} |
أي سمات مخصّصة مشتقة من ملف مفتاح التطبيق |
DisplayName |
قيمة السمة <DisplayName> للسياسة |
failed |
يتم ضبطها على "true" عند تعذّر التحقّق من صحة مفتاح واجهة برمجة التطبيقات. |
{custom_app_attrib} |
أي سمة مخصّصة مشتقة من ملف التطبيق. حدِّد اسم السمة المخصّصة. |
apiproduct.name* |
اسم منتج واجهة برمجة التطبيقات المستخدَم للتحقّق من صحة الطلب. |
apiproduct.{custom_attrib_name}* |
أي سمة مخصّصة مشتقة من ملف تعريف المنتج على واجهة برمجة التطبيقات |
apiproduct.developer.quota.limit* |
تمثّل هذه السمة حد الحصة المحدّد لمنتج واجهة برمجة التطبيقات، إن وُجد. |
apiproduct.developer.quota.interval* |
الفاصل الزمني للحصة المحدّد في منتج واجهة برمجة التطبيقات، إن وُجد |
apiproduct.developer.quota.timeunit* |
وحدة الوقت للحصة المحدّدة في منتج واجهة برمجة التطبيقات، إن وُجدت |
* يتم ملء متغيرات منتج واجهة برمجة التطبيقات تلقائيًا إذا تم ضبط منتجات واجهة برمجة التطبيقات باستخدام بيئة وخوادم وكيلة وموارد صالحة (مشتقة من proxy.pathsuffix ). للحصول على تعليمات حول إعداد منتجات واجهة برمجة التطبيقات، راجِع استخدام واجهة برمجة التطبيقات الإدارية في Edge لنشر واجهات برمجة التطبيقات. |
متغيّرات مسار التطبيق
تتضمّن السياسة متغيرات التدفق التالية التي تحتوي على معلومات حول التطبيق. يتم وضع البادئة التالية قبل كل هذه المتغيرات:
verifyapikey.{policy_name}.app
.
على سبيل المثال:
verifyapikey.{policy_name}.app.name
تشمل المتغيرات المتاحة ما يلي:
متغيّر | الوصف |
---|---|
name |
اسم التطبيق |
id |
رقم تعريف التطبيق |
accessType |
غير مستخدَم من قِبل Apigee. |
callbackUrl |
عنوان URL لردّ الاتصال الخاص بالتطبيق، ويُستخدم عادةً مع OAuth فقط. |
DisplayName |
الاسم المعروض للتطبيق |
status |
حالة التطبيق، مثل "تمت الموافقة" أو "تم الإبطال" |
apiproducts |
مصفوفة تحتوي على قائمة بمنتجات واجهة برمجة التطبيقات المرتبطة بالتطبيق. |
appFamily |
أي مجموعة تطبيقات تتضمّن التطبيق، أو "تلقائي" |
appParentStatus |
حالة التطبيق الرئيسي، مثل "نشط" أو "غير نشط" |
appType |
نوع التطبيق، إما "شركة" أو "مطوِّر". |
appParentId |
معرّف التطبيق الرئيسي |
created_at |
الطابع الزمني لتاريخ ووقت إنشاء التطبيق. |
created_by |
عنوان البريد الإلكتروني للمطوّر الذي أنشأ التطبيق. |
last_modified_at |
الطابع الزمني لتاريخ/وقت آخر تعديل للتطبيق. |
last_modified_by |
عنوان البريد الإلكتروني للمطوّر الذي أجرى آخر تعديل على التطبيق. |
{app_custom_attributes} |
أي سمة تطبيق مخصّصة حدِّد اسم السمة المخصّصة. |
متغيّرات سير عمل المطوّر
يتم ملء متغيرات التدفق التالية التي تحتوي على معلومات حول المطوّر بواسطة السياسة. يتم وضع البادئة التالية قبل كل هذه المتغيرات:
verifyapikey.{policy_name}.developer
على سبيل المثال:
verifyapikey.{policy_name}.developer.id
تشمل المتغيرات المتاحة ما يلي:
متغيّر | الوصف |
---|---|
id |
تعرض هذه السمة {org_name}@@@{developer_id} |
userName |
اسم المستخدم الخاص بالمطوّر |
firstName |
الاسم الأول للمطوّر |
lastName |
تمثّل هذه السمة اسم عائلة المطوِّر. |
email |
عنوان البريد الإلكتروني للمطوِّر |
status |
حالة المطوِّر، مثل نشط أو غير نشط أو login_lock |
apps |
مصفوفة من التطبيقات المرتبطة بالمطوّر |
created_at |
الطابع الزمني لتاريخ ووقت إنشاء حساب المطوِّر |
created_by |
عنوان البريد الإلكتروني للمستخدم الذي أنشأ المطوِّر |
last_modified_at |
الطابع الزمني لتاريخ/وقت آخر تعديل أجراه المطوّر. |
last_modified_by |
عنوان البريد الإلكتروني للمستخدم الذي عدّل حساب المطوِّر |
{developer_custom_attributes} |
أي سمة مخصّصة للمطوّرين حدِّد اسم السمة المخصّصة. |
Company |
تمثّل هذه السمة اسم الشركة المرتبطة بالمطوّر، إذا كان ذلك منطبقًا. |
متغيّرات مسار الشركة
يتم ملء متغيرات سير العمل التالية التي تحتوي على معلومات حول الشركة بموجب السياسة. يتم وضع البادئة التالية قبل كل هذه المتغيرات:
verifyapikey.{policy_name}.company
على سبيل المثال:
verifyapikey.{policy_name}.company.name
تشمل المتغيرات المتاحة ما يلي:
متغيّر | الوصف |
---|---|
name |
اسم الشركة |
displayName |
الاسم المعروض للشركة |
id |
رقم تعريف الشركة |
apps |
مصفوفة تحتوي على قائمة بتطبيقات الشركة. |
appOwnerStatus |
حالة مالك التطبيق، مثل نشط أو غير نشط أو login_lock
|
created_at |
الطابع الزمني لتاريخ/وقت إنشاء الشركة. |
created_by |
عنوان البريد الإلكتروني للمستخدم الذي أنشأ الشركة |
last_modified_at |
الطابع الزمني للتاريخ/الوقت الذي تم فيه تعديل الشركة آخر مرة. |
last_modified_by |
عنوان البريد الإلكتروني للمستخدم الذي عدّل الشركة آخر مرة. |
{company_custom_attributes} |
أي سمة مخصّصة للشركة حدِّد اسم السمة المخصّصة. |
متغيّرات "إحصاءات Google"
يتم تلقائيًا ملء المتغيّرات التالية في "إحصاءات Google" عند فرض سياسة "التحقّق من صحة مفتاح واجهة برمجة التطبيقات" على مفتاح واجهة برمجة تطبيقات صالح. لا تتم تعبئة هذه المتغيرات إلا من خلال سياسة Verify API Key وسياسات OAuth.
يمكن استخدام المتغيّرات والقيم كسمات لإنشاء تقارير "إحصاءات Google" من أجل الاطّلاع على أنماط الاستهلاك حسب المطوّرين والتطبيقات.
- apiproduct.name
- developer.app.name
- client_id
- developer.id
مرجع الخطأ
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
رمز الخطأ | رموز حالة HTTP | السبب |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | تمتلك الشركة المرتبطة بتطبيق المطوّر الذي يتضمّن مفتاح واجهة برمجة التطبيقات الذي تستخدمه غير نشط. عند تعيين حالة شركة إلى "غير نشطة"، لا يمكنك الوصول إلى المطوّرين أو التطبيقات المرتبطة بهذه الشركة. يمكن لمسؤول مؤسسة تغيير حالة الشركة باستخدام واجهة برمجة تطبيقات الإدارة. راجع تعيين الحالة الشركة. |
keymanagement.service.DeveloperStatusNotActive |
401 |
أنشأ المطوِّر الذي أنشأ تطبيق المطوّر الذي يتضمّن مفتاح واجهة برمجة التطبيقات الذي تستخدمه بحالة غير نشطة. عند ضبط حالة مطوّر تطبيقات على "غير نشطة"، لن يتم تفعيل أي تطبيقات التي أنشأها مطوّر البرامج هذا. مستخدم مشرف لديه الأذونات المناسبة (مثل مشرف المؤسسة) يمكن تغيير حالة المطوّر في الحالات التالية: الطرق:
|
keymanagement.service.invalid_client-app_not_approved |
401 | تم إبطال تطبيق المطوّر المرتبط بمفتاح واجهة برمجة التطبيقات. لا يمكن للتطبيق الذي تم إبطاله الوصول إلى أي من منتجات واجهة برمجة التطبيقات ولا يمكنه استدعاء أي واجهة برمجة تطبيقات تديرها Apigee Edge. يمكن لمشرف المؤسسة تغيير حالة تطبيق مطوِّر باستخدام واجهة برمجة تطبيقات الإدارة. عرض الموافقة على تطبيق المطوِّر أو إبطاله |
oauth.v2.FailedToResolveAPIKey |
401 | تتوقع السياسة العثور على مفتاح واجهة برمجة التطبيقات في متغيّر تم تحديده في قسم <APIKey> العنصر. ينشأ هذا الخطأ عندما يتوقع لم يتم العثور على المتغير (لا يمكن حله). |
oauth.v2.InvalidApiKey |
401 | استلم Edge مفتاح واجهة برمجة تطبيقات ولكنه غير صالح. عندما يبحث Edge عن المفتاح في فيجب أن تتطابق تمامًا مع البيانات التي تم إرسالها في الطلب. إذا نجحت واجهة برمجة التطبيقات التأكّد من أنّه لم تتم إعادة إنشاء المفتاح. إذا تمت إعادة إنشاء المفتاح، سيظهر لك يحدث هذا الخطأ إذا حاولت استخدام المفتاح القديم. لمعرفة التفاصيل، يُرجى الاطّلاع على تسجيل التطبيقات وإدارة واجهة برمجة التطبيقات. . |
oauth.v2.InvalidApiKeyForGivenResource |
401 | استلم Edge مفتاح واجهة برمجة التطبيقات، وهو صالح؛ ومع ذلك، فهو لا يطابق مفتاح تمت الموافقة عليه في تطبيق المطوّر المرتبط بخادم واجهة برمجة التطبيقات الوكيل من خلال أحد المنتجات. |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
اسم الخطأ | السبب |
---|---|
SpecifyValueOrRefApiKey |
لم يتم تحديد قيمة أو مفتاح للعنصر <APIKey> . |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
المتغيرات | المكان | مثال |
---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.VK-VerifyAPIKey.failed = true |
أمثلة على ردود الخطأ
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
مثال على قاعدة الخطأ
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>