فهم المسارات

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

ويحدِّد المسار مسار طلب من ProxyEndpoint إلى TargetEndpoint. يتضمّن المسار عنوان URL المستخدَم للوصول إلى نقطة نهاية خادم وكيل واجهة برمجة التطبيقات وعنوان 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} و{base-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> يشير إلى مضيف افتراضي اسمه تلقائي. يمكنك إجراء عدة عمليات المضيفين المحددين في بيئتك.

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

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

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

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

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

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

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

عنوان URL مباشر

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

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

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

هدف واحد

في تعريف مستهدف واحد، تشير نقطة نهاية الخادم الوكيل إلى تعريف واحد لنقطة نهاية TargetEndpoint. حسب الاسم، كما هو موضح في الشكل أعلاه:

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

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

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

تتيح العلامة &lt;RouteRule&gt; معرفة فإنك توجه طلبًا إلى هدف بناءً على شرط. يمكنك استخدام متغيرات التدفق، والاستعلام المعلمات أو عناوين HTTP أو محتوى الرسالة أو المعلومات السياقية مثل الوقت من اليوم واللغة لتحديد نقطة النهاية المستهدفة. على سبيل المثال، يمكنك تضمين منطقة جغرافية، مثل الإمارات العربية المتحدة والمملكة المتحدة في عنوان URL الخاص بالطلب. ويمكنك بعد ذلك توجيه طلب إلى نقطة نهاية مستهدفة استنادًا إلى .

تقيّم قاعدة المسار التالية عنوان HTTP في الطلب. إذا لم يكن عنوان HTTP تحتوي الدالة routeTo على القيمة TargetEndpoint1، ثم الطلب تتم إعادة توجيهها إلى نقطة النهاية TargetEndpoint1 المسماة 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"/>

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