ضبط التدفقات

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

مسارات البيانات هي الوحدات الأساسية لخدمات الوكيل لواجهات برمجة التطبيقات. تتيح لك التدفقات برمجة سلوك واجهة برمجة التطبيقات من خلال السماح لك بضبط التسلسل الذي يتم فيه تنفيذ السياسات والرموز البرمجية بواسطة خادم وكيل لواجهة برمجة التطبيقات.

للحصول على نظرة عامة مفهومة على التدفقات، يُرجى الاطّلاع على مقالة التحكّم في كيفية تنفيذ الخادم الوكيل باستخدام التدفقات.

يوضّح هذا الموضوع كيفية إنشاء مسارات مشروطة وإضافة منطق (سياسات) إلى المسارات على مستوى عالٍ. يتضمن فنّ إنشاء الشروط تفاصيل أكثر من تلك التي يتمّ تناولها في هذا الموضوع. لمعرفة هذه التفاصيل، يُرجى الاطّلاع على نظرة عامة على متغيّرات مسار والشروط التي تتضمّن متغيّرات مسار.

إرفاق السياسات بالعمليات

يوفّر Edge العديد من الأنواع المختلفة من السياسات المحدّدة مسبقًا لتنفيذ الأمان وإدارة الزيارات ومعالجة الرسائل. بالإضافة إلى ذلك، تتيح لك السياسات إضافة رمزك المخصّص ل تخصيص معالجة الرسائل بالكامل.

على سبيل المثال:

  • إرفاق سياسة أمان OAuth بطلب PreFlow في ProxyEndpoint بما أنّ مرحلة ما قبل التدفق لطلب ‎ ProxyEndpoint هي المرحلة الأولى في عملية المعالجة، يمكنك رفض طلب على الفور إذا كان ينتهك سياسات الأمان.
  • اربط سياسة تحويل JSON إلى XML بمسار ما بعد الاستجابة لنقطة نهاية الهدف لتحويل الاستجابة من تنسيق JSON إلى تنسيق XML.
  • إرفاق سياسة JavaScript بمسار مشروط لـ ProxyEndpoint لتنفيذ رمز JavaScript لمعالجة طلب

بعد إنشاء مسار شرطي، يكون متاحًا لإرفاق السياسة. مع تحديد العملية ، انقر على رمز + خطوة في مخطّط طلب البيانات أو استجابتها لإضافة سياسة جديدة أو حالية إلى العملية.

في قائمة "المستكشف"، يتم تمييز مثال على تدفّق شَرطي باسم "مشكلة"،
    وفي لوحة "التدفّق"، يظهر الزر "خطوة".

في لوحة "إضافة خطوة"، يتم إنشاء مثيل سياسة جديد بنوع السياسة "الحصة" والاسم المعروض "الحصة 2".

من خلال إرفاق السياسة بالمسار المحدّد، يتم ضبط خادم وكيل واجهة برمجة التطبيقات لفرض سياسة الحصة على الطلبات المقدَّمة إلى تركيبة معرّف الموارد المنتظم (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 إلى الخادم الوكيل لواجهة برمجة التطبيقات باستخدام /issue/**‎ (/issue/ مع أي شيء في عنوان URI بعد الشرطة المائلة للأمام الأخيرة)، يتم فرض الحصة على طلب واجهة برمجة التطبيقات هذا.

لمحة عن المسارات المشروطة

يتم تنفيذ أي سياسات مرتبطة بمسار 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 flow، الذي يحتوي على جزء اللاحقة من عنوان URL المستخدَم للوصول إلى خادم وكيل واجهة برمجة التطبيقات. يمكنك بعد ذلك إرفاق سياسات مختلفة بالمسار المشروط لكل مورد.

إضافة مسار شرطي

في هذا المثال الموجز، يمكنك إعداد عملية لا يتم تنفيذها إلا عندما تكون رسالة الطلب هي طلب HTTP GET.

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

علامة التبويب &quot;إنشاء&quot; في &quot;أداة إنشاء الخادم الوكيل&quot;

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

زر إضافة مسار شرطي

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

في لوحة &quot;المسار الشرطي الجديد&quot;، تم تسمية المسار باسم &quot;المسار 1&quot;، وتم ضبط نوع الشرط،
    والمسار، والفعل.

(تعرَّف على كيفية إنشاء عبارات شرطية في متغيّرات مسار التنقّل وشروطه).

يظهر الآن المسار الجديد، المُسمى Flow-1، في قائمة "المستكشف".

تم تمييز &quot;التدفق 1&quot;

راقِب الآن إعدادات XML لـ ProxyEndpoint. اختَر التدفق-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>

الخطوات التالية

تقدّم المواضيع التالية مزيدًا من التفاصيل حول إنشاء الشروط واستخدام المتغيّرات: