فهم المسارات

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

يحدِّد المسار مسار طلب من ProxyEndpoint إلى TargetEndpoint. يتضمّن المسار عنوان URL المستخدَم للوصول إلى ProxyEndpoint لواجهة برمجة التطبيقات وعنوان URL لخدمة الخلفية التي حدّدها TargetEndpoint.

شاهِد هذا الفيديو للحصول على مقدمة عن المسارات، مع وصف العلاقة بين ProxyEndpoint وTargetEndpoint.

تحديد عنوان URL لنقطة نهاية الخادم الوكيل لواجهة برمجة التطبيقات

تعرض الصورة التالية طلبًا واردًا إلى ProxyEndpoint من أحد التطبيقات، ويتم توجيه هذا الطلب إلى خدمة الخلفية:

بعد إنشاء خادم وكيل لواجهة برمجة التطبيقات على Edge، يكون عنوان URL التلقائي الذي يستخدمه التطبيق للوصول إلى الخادم الوكيل على النحو التالي:

http://{org-name}-{env-name}.apigee.net/{base-path}/{resource-path}

https://{org-name}-{env-name}.apigee.net/{base-path}/{resource-path}

حيث:

  • {org-name} هو اسم مؤسستك. يتم إنشاء هذا الاسم عند إنشاء حساب على Edge.
  • {env-name} هو اسم البيئة في Edge. تلقائيًا، يتم توفير كل المؤسسات في Apigee التي تم إنشاؤها في السحابة الإلكترونية باستخدام بيئتين: test وprod. وعند نشر خادم وكيل لواجهة برمجة التطبيقات، يمكنك اختيار نشره في إحدى البيئتين أو كلتيهما.
  • يتم تحديد {base-path} و{resource-path} عند إنشاء الوكيل لواجهة برمجة التطبيقات.

عندما يأتي طلب إلى Edge، يحلّل Edge عنوان URL لتوجيه الطلب إلى ProxyEndpoint الصحيح. على سبيل المثال، يتم استخدام عنوان URL التالي للوصول إلى وكيل واجهة برمجة التطبيقات على Edge:

http://myOrg-prod.apigee.net/v1/weather/forecastrss

إذا فحصت تعريف ProxyEndpoint لخادم وكيل واجهة برمجة التطبيقات في الشكل أعلاه، يمكنك الاطّلاع على كيفية تحليل عنوان URL هذا من خلال Edge:

  1. يتوافق جزء النطاق من عنوان URL، http://myOrg-prod.apigee.net، مع مضيف افتراضي على Edge. في تعريف ProxyEndpoint أعلاه، يستخدم الخادم الوكيل لواجهة برمجة التطبيقات علامة <VirtualHost> للإشارة إلى مضيف افتراضي يُسمّى default. يمكنك تحديد عدة مضيفات افتراضية في بيئتك.

    يحدد المضيف الظاهري النطاقات والمنافذ التي يظهر عليها الخادم الوكيل لواجهة برمجة التطبيقات. يحدِّد المضيف الافتراضي أيضًا ما إذا كان يتم الوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات باستخدام بروتوكول HTTP أو بروتوكول HTTPS المشفَّر. للحصول على معلومات مفصّلة عن المضيفين الظاهريين، يُرجى الاطّلاع على لمحة عن المضيفين الظاهريين (إصدار تجريبي).
  2. يتم تحديد الجزء الثاني من عنوان URL، وهو /v1/weather، من خلال العنصر <BasePath> في ProxyEndpoint. يجب أن يكون المسار الأساسي فريدًا لوكيل واجهة برمجة التطبيقات للبيئة كي لا يتضمّن وكيلان لواجهة برمجة التطبيقات المسار الأساسي نفسه.
  3. الجزء الثالث من عنوان URL، وهو /forecastrss، هو مورد يحدّده وكيل واجهة برمجة التطبيقات مع "المسار الشرطي" المقابل الذي يحدّده العنصر <Flows>.

فيديو: يمكنك مشاهدة فيديو قصير لمعرفة المزيد من المعلومات عن نقاط نهاية الخادم الوكيل لواجهة برمجة التطبيقات.

تحديد عنوان URL لنقطة النهاية المستهدفة

تحدِّد العلامة <RouteRule> في تعريف ProxyEndpoint هدف وكيل واجهة برمجة التطبيقات، ويتم تقييمها بعد معالجة جميع السياسات في PreFlow وConditional Flows وPostFlow لطلب ProxyEndpoint.

يمكن أن يحدِّد ProxyEndpoint الهدف على النحو التالي:

  • عنوان URL مباشر يؤدي إلى خدمة خلفية
  • تعريف TargetEndpoint واحد
  • نقاط نهاية مستهدفة متعددة يفوّض فيها الوكيل لواجهة برمجة التطبيقات الطلب إلى نقطة نهاية مستهدفة استنادًا إلى شرط
  • مسار أو هدف غير صالحَين، ما يعني أنّه لا يتم إعادة توجيه الطلب إلى هدف. بدلاً من ذلك، تتم جميع عمليات المعالجة للطلب وإنشاء الاستجابة على Edge.

فيديو: يمكنك مشاهدة فيديو قصير للاطّلاع على مزيد من المعلومات عن نقاط النهاية المستهدَفة.

عنوان URL مباشر

يمكن لـ ProxyEndpoint استدعاء خدمة خلفية مباشرةً، وتجاوز أي إعداد باسم TargetEndpoint معيّن. على سبيل المثال، يُجري العنصر <RouteRule> التالي دائمًا طلب HTTP إلى http://api.mycompany.com/myAPI:

<RouteRule name="default">
  <URL>http://api.mycompany.com/myAPI</URL> 
</RouteRule>

ومع ذلك، بسبب عدم توفّر TargetEndpoint، يمكنك إضافة سياسات إلى التدفقات التي تحدّدها ProxyEndpoint فقط.

هدف واحد

في تعريف هدف واحد، يشير ProxyEndpoint إلى تعريف TargetEndpoint واحد حسب الاسم، كما هو موضّح في الشكل أعلاه:

<RouteRule name="default">
  <TargetEndpoint>default</TargetEndpoint>
</RouteRule>

يتم توجيه جميع الطلبات إلى هذا الوكيل لواجهة برمجة التطبيقات إلى تعريف TargetEndpoint نفسه. تحدّد العلامة <URL> في TargetEndpoint موقع خدمة الخلفية. وفي الرسم أعلاه، عنوان URL المستهدف هو http://weather.yahooapis.com.

الاستهدافات المشروطة

تتيح لك العلامة <RouteRule> توجيه طلب إلى هدف استنادًا إلى شرط. يمكنك استخدام متغيّرات مسار الإحالة الناجحة أو مَعلمات طلب البحث أو رؤوس HTTP أو محتوى الرسالة أو المعلومات السياقية، مثل وقت اليوم واللغة لتحديد نقطة النهاية المستهدَفة. على سبيل المثال، يمكنك تضمين منطقة جغرافية، مثل الولايات المتحدة والمملكة المتحدة، في عنوان URL للطلب. يمكنك بعد ذلك توجيه طلب إلى نقطة نهاية مستهدَفة استنادًا إلى المنطقة.

تقيِّم قاعدة المسار التالية عنوان HTTP في طلب. إذا كان رأس HTTP routeTo يحتوي على القيمة TargetEndpoint1، تتم إعادة توجيه الطلب إلى نقطة النهاية TargetEndpoint التي تحمل الاسم TargetEndpoint1. وإذا لم يكن الأمر كذلك، تتم إعادة توجيه الطلب إلى TargetEndpoint2.

<RouteRule name="MyRoute">
  <Condition>request.header.routeTo = "TargetEndpoint1"</Condition>
  <TargetEndpoint>TargetEndpoint1</TargetEndpoint>
</RouteRule>
<RouteRule name="default">
 <TargetEndpoint>TargetEndpoint2</TargetEndpoint>
</RouteRule>

إذا كانت لديك قواعد مسار متعددة، أنشئ قاعدة واحدة على أنّها "القاعدة التلقائية"، أي قاعدة مسار بدون شرط. تأكَّد من تحديد قاعدة المسار التلقائي في آخر القائمة للمسارات الشَرطية لأنّه يتم تقييم القواعد من الأعلى إلى الأسفل في ProxyEndpoint.

اطّلِع أيضًا على المسارات الشَرطية ومرجع الشروط.

فيديو: يمكنك مشاهدة فيديو قصير للتعرّف على كيفية التوجيه إلى نقطة نهاية مستهدَفة باستخدام الاستهدافات الشَرطية.

مسار غير محدّد

يتيح المسار غير الصالح سيناريوهات لا تحتاج فيها رسالة الطلب إلى إعادة توجيهها إلى نقطة نهاية مستهدفة. يكون ذلك مفيدًا عندما تُجري عنصر ProxyEndpoint جميع عمليات المعالجة اللازمة، على سبيل المثال باستخدام JavaScript للاتّصال بخدمة خارجية.

يحدِّد المثال التالي مسارًا غير صالح:

<RouteRule name="GoNowhere"/>

مزيد من المعلومات