فهم المسارات

يتم الآن عرض مستندات 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 للخادم الوكيل لواجهة برمجة التطبيقات في الشكل أعلاه، يمكنك الاطّلاع على كيفية تحليل Edge لعنوان URL هذا:

  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 استهداف الخادم الوكيل لواجهة برمجة التطبيقات، ويتم تقييمها بعد أن تتم معالجة جميع السياسات في طلب ProxyEndpoint والتدفق المشروط وPostFlow.

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

  • عنوان URL مباشر إلى خدمة خلفية.
  • تعريف واحد لنقطة نهاية الهدف.
  • يفوض وكيل واجهة برمجة التطبيقات الطلب إلى نقطة نهاية مستهدفة استنادًا إلى شرط معيّن من نقاط TargetEndpoints المتعددة.
  • مسار أو هدف فارغ، بمعنى أنه لا تتم إعادة توجيه الطلب إلى هدف. بدلاً من ذلك، تتم جميع عمليات معالجة الطلب وإنشاء الاستجابة على 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 إلى تعريف واحد لنقطة نهاية الموقع حسب الاسم، كما هو موضّح في الشكل أعلاه:

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

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

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

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

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

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

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

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

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

مسار فارغ

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

يحدد المثال التالي مسارًا خاليًا:

<RouteRule name="GoNowhere"/>

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