ضبط التدفقات

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

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

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

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

ربط السياسات بالمسارات

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

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

  • إرفاق سياسة أمان OAuth بـ طلب PreFlow لـ ProxyEndpoint. نظرًا لأن إنّ طلب ProxyEndpoint PreFlow هو التدفق الأول ضمن مسار العملية، ويمكنك على الفور رفض الطلب إذا كان ينتهك سياسات الأمان
  • يُرجى إرفاق سياسة تحويل JSON إلى XML بـ استجابة PostFlow of targetEndpoint لتحويل استجابة من 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 إلى الخادم الوكيل لواجهة برمجة التطبيقات باستخدام معرّف موارد منتظم (URI) النمط .../issue/** (/issue/ بأي شيء في معرّف الموارد المنتظم (URI) بعد آخر عملية إعادة توجيه شرطة مائلة)، يتم فرض الحصة على طلب بيانات من واجهة برمجة التطبيقات.

لمحة عن التدفقات الشرطية

يتم دائمًا تنفيذ أي سياسات مرفقة بـ PreFlow أو PostFlow. ومع ذلك، يتم تنفيذ السياسات في تدفق مشروط فقط إذا تم تقييم شرط التدفق على "صحيح".

أثناء معالجة الطلب والاستجابة، يتم تنفيذ تدفق مشروط واحد فقط لكل الجزء - التدفق الأول الذي يتم تقييم شرطه على true. هذا يعني أنه يمكنك الحصول على واحدة تدفق شرطي يتم تنفيذه كجزء من كل من:

  • مسار طلبات 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، ويتم تقييم الشرط إلى true ويبدأ المنطق المرتبطة بالتدفق الشرطي.

بعد ذلك، يصل مطوّرو التطبيقات إلى مواردك من خلال تقديم طلبات إلى عنوان 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.

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

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

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

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

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

في جزء التدفق الشرطي الجديد، يسمى التدفق Flow-1، ونوع الشرط،
    والمسار والفعل.

(تعرّف على كيفية إنشاء جمل شرطية في متغيرات التدفق الشروط.)

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

تم تمييز التدفق-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>

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

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