أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
المسارات هي الوحدات الأساسية لخوادم وكيل واجهة برمجة التطبيقات. تتيح لك التدفقات برمجة سلوك واجهة برمجة التطبيقات من خلال السماح لك بضبط التسلسل الذي يتم به تنفيذ السياسات والرموز البرمجية بواسطة خادم وكيل لواجهة برمجة التطبيقات.
للحصول على نظرة عامة مفاهيمية حول عمليات التنفيذ، راجِع التحكّم في طريقة تنفيذ الخادم الوكيل باستخدام عمليات التنفيذ.
يوضّح هذا الموضوع كيفية إنشاء مسارات مشروطة وإضافة منطق (سياسات) إلى المسارات على مستوى عالٍ. يتضمّن فن إنشاء الشروط تفاصيل أكثر مما يغطّيه هذا الموضوع. للحصول على هذه التفاصيل، يُرجى الاطّلاع على نظرة عامة على متغيرات التدفق والشروط باستخدام متغيرات التدفق.
ربط السياسات بمسارات العمل
يأتي Edge مزوّدًا بالعديد من الأنواع المختلفة من السياسات المحدّدة مسبقًا لتنفيذ الأمان وإدارة عدد الزيارات ومعالجة الرسائل. بالإضافة إلى ذلك، تتيح لك السياسات إضافة رمز مخصّص خاص بك لتخصيص معالجة الرسائل بشكل كامل.
على سبيل المثال:
- أرفِق سياسة أمان OAuth بـ PreFlow للطلب في ProxyEndpoint. بما أنّ PreFlow الخاص بطلب ProxyEndpoint هو أول تدفق في سلسلة المعالجة، يمكنك رفض الطلب على الفور إذا كان ينتهك سياسات الأمان.
- أرفِق سياسة تحويل JSON إلى XML باستجابة PostFlow في TargetEndpoint لتحويل استجابة من JSON إلى XML.
- إرفاق سياسة JavaScript بـ تدفّق شرطي في ProxyEndpoint لتنفيذ رمز JavaScript لمعالجة الطلب
بعد إنشاء مسار مشروط، يصبح متاحًا لربطه بالسياسة. بعد اختيار التدفق، انقر على الرمز + خطوة في مخطط الطلب أو الرد لإضافة سياسة جديدة أو حالية إلى التدفق.


من خلال ربط السياسة بالمسار المحدّد، يمكنك ضبط خادم وكيل لواجهة برمجة التطبيقات لفرض سياسة الحصة فقط على الطلبات التي يتم إرسالها إلى مجموعة المسار وURI والفعل. على سبيل المثال، إذا أرفقت السياسة بتدفق التعلم في الطلب، سيتم إنشاء XML التالي في عرض الرمز البرمجي لمحرّر الخادم الوكيل:
<ProxyEndpoint name="default">
...
<Flow name="issue">
<Description/>
<Request>
<Step>
<Name>Quota-2</Name>
</Step>
</Request>
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/issue/**") and (request.verb = "GET")</Condition>
</Flow>
...
</ProxyEndpoint>في هذا الإعداد، إذا وصل طلب GET إلى خادم وكيل واجهة برمجة التطبيقات مع نمط معرّف الموارد المنتظم (URI) .../issue/** (/issue/ مع أي شيء في معرّف الموارد المنتظم بعد الشرطة المائلة الأخيرة)، سيتم فرض الحصة على طلب بيانات من واجهة برمجة التطبيقات هذا.
لمحة عن المهام المستندة إلى شروط
يتم دائمًا تنفيذ أي سياسات مرفقة بـ PreFlow أو PostFlow. ومع ذلك، لا يتم تنفيذ السياسات في سير العمل الشرطي إلا إذا تم تقييم شرط سير العمل على أنّه صحيح.
أثناء معالجة الطلب والرد، يتم تنفيذ مسار شرطي واحد فقط لكل جزء، وهو المسار الأول الذي يتم تقييم شرطه على أنّه صحيح. وهذا يعني أنّه يمكنك تنفيذ مسار شرطي واحد كجزء من كلّ مما يلي:
- مسار طلب ProxyEndpoint
- مسار طلب TargetEndpoint
- مسار الردود في ProxyEndpoint
- مسار الردّ في TargetEndpoint
الفيديو: شاهِد فيديو قصيرًا لمزيد من المعلومات حول المهام المستندة إلى شروط.
على سبيل المثال، يعرض تعريف ProxyEndpoint التالي مسارًا شرطيًا يتم تنفيذه
من خلال ProxyEndpoint عند أي طلب HTTP GET إلى خادم وكيل لواجهة برمجة التطبيقات:
<ProxyEndpoint name="default">
<PreFlow>
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="Flow-1">
<Condition>request.verb="GET"</Condition>
<Request/>
<Response/>
</Flow>
</Flows>
<PostFlow>
<Request/>
<Response/>
</PostFlow>
...
</ProxyEndpoint>يُرجى العِلم أنّ الشرط يشير إلى request.verb المتغير الخاص بسير العمل. متغيّر التدفق هو مراجع مسماة تحتوي على معلومات الحالة المرتبطة بمعاملة واجهة برمجة تطبيقات تتم معالجتها بواسطة Edge. تحدّد Edge العديد من متغيرات الحالة التي يمكنك الرجوع إليها.
الخدمات المتوافقة مع REST هي مجموعات من موارد واجهة برمجة التطبيقات. مورد واجهة برمجة التطبيقات هو جزء من مسار معرّف الموارد المنتظم (URI)
يحدّد بعض الكيانات التي يمكن للمطوّرين الوصول إليها من خلال استدعاء واجهة برمجة التطبيقات. على سبيل المثال، إذا كان الخلفية لخدمتك توفّر تقارير عن الطقس وتوقعات الطقس، قد تحدّد واجهة برمجة التطبيقات تدفقَين شرطيَّين يتم ربطهما بموارد واجهة برمجة التطبيقات هذه: /reports و/forecasts. عندما يتضمّن طلب بيانات من واجهة برمجة التطبيقات أحد هذه الموارد في عنوان URL، يتم تقييم الشرط على أنّه صحيح ويتم تنفيذ المنطق المرتبط بالمسار الشرطي.
بعد ذلك، يمكن لمطوّري التطبيقات الوصول إلى مواردك من خلال إرسال طلبات إلى عنوان URL بالتنسيق التالي:
http://myAPIs.myCo.com/weather/reports
أو:
http://myAPIs.myCo.com/weather/forecasts
في خادم وكيل لواجهة برمجة التطبيقات، يمكنك تحديد مسار شرطي يتوافق مع مورد محدّد:
<ProxyEndpoint name="default">
<PreFlow>
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="Flow-1">
<Condition>(proxy.pathsuffix MatchesPath "/reports")</Condition>
<Request/>
<Response/>
</Flow>
<Flow name="Flow-2">
<Condition>(proxy.pathsuffix MatchesPath "/forecasts")</Condition>
<Request/>
<Response/>
</Flow>
</Flows>
<PostFlow>
<Request/>
<Response/>
</PostFlow>
...
</ProxyEndpoint>في هذا المثال، تشير إلى متغيّر التدفق proxy.pathsuffix، الذي يحتوي على جزء اللاحقة من عنوان URL المستخدَم للوصول إلى خادم وكيل لواجهة برمجة التطبيقات. يمكنك بعد ذلك ربط سياسات مختلفة بالمسار الشرطي لكل مورد.
إضافة مسار مشروط
في هذا المثال الموجز، يمكنك إعداد مسار لا يتم تنفيذه إلا عندما تكون رسالة الطلب هي HTTP GET.
لإضافة تدفّق شرطي، اختَر علامة التبويب تطوير في أداة إنشاء خادم وكيل لواجهة برمجة التطبيقات.

انقر على رمز الجمع في نقطة النهاية المطلوبة.

يتيح لك نموذج المسار الشرطي الجديد تسمية المسار وإعداد شرط. في المثال التالي، ستضيف شرطًا بسيطًا يقيم HTTP لرسالة الطلب من أجل فعل GET (بدلاً من PUT أو POST أو غير ذلك) على أي معرّف موارد منتظم بعد المسار الأساسي.

(تعرَّف على كيفية إنشاء عبارات شرطية في متغيّرات المسار والشروط).
يظهر المسار الجديد، الذي يُطلق عليه اسم Flow-1، الآن في قائمة "المستكشف".

الآن، راقِب إعدادات XML الخاصة بـ ProxyEndpoint. اختَر Flow-1 في قائمة المستكشف.
ستظهر لك الإعدادات التالية.
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="Flow-1">
<Request/>
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET")</Condition>
</Flow>
</Flows>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>الخطوات التالية
تقدّم المواضيع التالية تفاصيل أكثر حول إنشاء الشروط واستخدام المتغيّرات: