הגדרת תהליכי עבודה

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

תהליכים הם אבני הבניין הבסיסיות של שרתי proxy ל-API. התהליכים מאפשרים לכם לתכנת את ההתנהגות של ה-API, על ידי מתן אפשרות להגדיר את הרצף שבו המדיניות והקוד ירוצו על ידי API שרת proxy.

לסקירה כללית של מושגים בתהליכים, אפשר לעיין במאמר שליטה באופן הפעולה של שרת proxy באמצעות .

הנושא הזה מתאר איך ליצור תהליכים מותנים ולהוסיף לוגיקה (מדיניות) לתהליכי עבודה גבוהה. באומנות יצירת התנאים יש פירוט רב יותר מזה שנלמד כאן נושא. לפרטים נוספים, ראו סקירה כללית של הזרימה משתנים ותנאים עם משתני זרימה.

צירוף כללי מדיניות לתהליכים

ל-Edge יש הרבה סוגים שונים של כללי מדיניות מוגדרים מראש, שאפשר להשתמש בהם כדי להטמיע אבטחה ולנהל תנועה ועריכה של הודעות. בנוסף, המדיניות מאפשרת לכם להוסיף קוד מותאם אישית משלכם להתאים אישית את עיבוד ההודעה לגמרי.

לדוגמה:

  • מצרפים מדיניות אבטחת OAuth אל בקשת ה-PreFlow של ה-ProxyEndpoint. כי הבקשה PreFlow של ProxyEndpoint היא התהליך הראשון בצינור עיבוד הנתונים. ניתן מיד דחיית בקשה אם היא מפרה את מדיניות האבטחה שלכם.
  • מצרפים מדיניות בנושא המרת JSON ל-XML כדי תגובה PostFlow של נקודת הקצה (TargetEndpoint) כדי להמיר מ-JSON ל-XML.
  • לצרף מדיניות JavaScript לתוכן מותנה תהליך ה-ProxyEndpoint להרצת קוד JavaScript לעיבוד בקשה

אחרי שיוצרים תהליך מותנה, הוא זמין לצירוף של מדיניות. זורמים עם החיים שנבחרו, לוחצים על הסמל + שלב בדיאגרמה של הבקשה או התגובה כדי להוסיף מדיניות חדשה או קיימת לתהליך.

בתפריט הניווט, מודגשת דוגמה של זרימה מותנית בשם 'בעיה'.
    בחלונית 'זרימה' מוצג הלחצן 'שלב'.

בחלונית Add Step, נוצר מופע מדיניות חדש עם סוג המדיניות Quota ו-
    השם המוצג Quota-2.

צירוף המדיניות לזרימה שנבחרה מגדיר את שרת ה-proxy ל-API כך שיאכוף את מדיניות מכסות רק לבקשות שנשלחות לשילוב של URI של זרימה ופועל. לדוגמה, אם מצרפת את המדיניות לתהליך הלמידה בבקשה, ה-XML הבא הוא שנוצר בתצוגת הקוד של עורך ה-Proxy:

<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 מגיעה ל-Proxy ל-API עם URI דפוס של .../issue/** (/בעיה/ עם כל דבר ב-URI אחרי ההעברה האחרונה) קו נטוי), נאכפת מכסה הזו בקריאה ל-API.

מידע על תהליכים מותנים

כל מדיניות שמצורפת ל-PreFlow או ל-PostFlow תמיד מופעלת. אבל, כללי מדיניות בתהליך מותנה מופעלים רק אם התנאי של הזרימה מקבל את הערך True.

במהלך העיבוד של בקשה ותשובה, מתבצע רק תהליך מותנה אחד בכל הפלח – התהליך הראשון שהתנאי שלו שווה ל-true. כלומר, יכול להיות שיש לכם תהליך מותנה שמבוצע כחלק מכל אחד מהרכיבים הבאים:

  • צינור עיבוד הנתונים של הבקשות ProxyEndpoint
  • צינור עיבוד הנתונים של הבקשות ב-TargetEndpoint
  • צינור עיבוד הנתונים של ProxyEndpoint
  • צינור עיבוד הנתונים של TargetEndpoint

סרטון: כדאי לצפות בסרטון קצר כדי לקבל מידע נוסף על תהליכים מותנים.

לדוגמה, ההגדרה הבאה של ProxyEndpoint מציגה זרם מותנה שמתבצע לדוגמה על ידי ProxyEndpoint בכל בקשת HTTP GET ל-Proxy ל-API:

<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 מותאם אישית.. משתנה זרימה הוא הפניות בעלות שם שמכילות פרטי מצב משויכים באמצעות טרנזקציית API שמעובדת על ידי Edge. Edge מגדיר משתני מצב רבים הפניה.

שירותי RESTful הם אוספים של משאבי API. משאב API הוא שבר של נתיב URI שמזהה ישות מסוימת שהמפתחים יכולים לגשת אליה על ידי שליחת קריאה ל-API. לדוגמה, אם הקצה העורפי של השירות מספק דוחות מזג אוויר ותחזיות מזג אוויר, ה-API יכול להגדיר תהליכי עבודה מותנים שממופים אל ה-API הזה משאבים: /reports ו-/forecasts. כשקריאה ל-API כולל אחד מהמשאבים האלה בכתובת ה-URL, התנאי מקבל את הערך True והלוגיקה שמצורף לתהליך המותנה.

לאחר מכן, מפתחי אפליקציות ניגשים למשאבים על ידי שליחת בקשות לכתובת URL בטופס:

http://myAPIs.myCo.com/weather/reports

או:

http://myAPIs.myCo.com/weather/forecasts

בשרת proxy ל-API אפשר להגדיר תהליך מותנה שתואם resource:

<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 שמשמשת כדי לגשת לשרת ה-proxy ל-API. לאחר מכן אפשר לצרף כללי מדיניות שונים לתהליך המותנה של כל משאב.

הוספת תהליך עבודה מותנה

בדוגמה הקצרה הזו, מגדירים זרימה המופעלת רק כאשר הודעת הבקשה אחזור HTTP.

כדי להוסיף תהליך מותנה, בוחרים בכרטיסייה פיתוח בכלי ליצירת שרתי proxy ל-API.

הכרטיסייה &#39;פיתוח&#39; של הכלי לבניית שרתי proxy

לוחצים על סמל + בנקודת הקצה הרצויה.

לחצן להוספת זרימה מותנית

הטופס תהליך מותנה חדש מאפשר לתת שם לתהליך ולהגדיר תנאי. ב בדוגמה הבאה, מוסיפים תנאי פשוט שמעריך את ה-HTTP של הודעת הבקשה פועל GET (בניגוד ל-PUT, POST וכו') בכל URI אחרי הנתיב הבסיסי.

בחלונית &#39;זרימה מותנה חדשה&#39;, הזרימה נקראת &#39;זרימה-1&#39; וסוג התנאי,
    והפועל מוגדרים.

(בקישור הבא אפשר ללמוד איך ליצור הצהרות מותנות ב-Flow משתנים תנאים.)

התהליך החדש, שנקרא Flow-1, מופיע עכשיו בתפריט Navigator.

זרימה 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>

השלבים הבאים

הנושאים הבאים מספקים פרטים נוספים על בניית תנאים ושימוש משתנים: